График::Строит График в размещении сетки
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
Graph::plotGridGraph(G, <PointSize = n>, <VerticesPerLine = n>, <VertexOrder = [n1, …,nm]>, <SpecialVertices = [v1, …,vn]>, <SpecialEdges = [e1, …,en]>, <EdgeColor = RGB>, <SpecialEdgeColor = RGB>, <SpecialVertexColor = RGB>, <Vertex1Color = RGB>, <Vertex2Color = RGB>)
Graph::plotGridGraph(G) возвращает график:: объект Scene, в котором вершины квадратные упорядоченный (самый верхний оставленный нижнему праву). Количество вершин на строку является этажом квадратного корня количества вершин. Первая вершина чертится в RGB:: Синий и второе в RGB:: Зеленый. Все другие вершины чертятся в RGB:: Красный. Ребра чертятся в RBG:: Красный. Ширина точек предопределена с 40. Если последняя строка будет содержать только одну вершину, она будет чертиться сосредоточенная посреди строки.
Graph::plotGridGraph(G, VerticesPerLine=n) возвращает график:: объекту Scene нравится описанный выше за одним исключением. В каждой строке существуют точно вершины n. Они появляются в отсортированном порядке в зависимости от их имени. Если последняя строка будет состоять только из одной вершины, этот будет сосредоточен.
Graph::plotGridGraph(G, VerticesPerLine=[v1..vn]) возвращает график:: объекту Scene нравится описанный выше за одним исключением. В строке 1 существуют точно помещенные вершины v1. В строке 2 и так далее существуют вершины v2. Последняя строка содержит вершины vn. Они появляются в отсортированном порядке в зависимости от их имени. Сумма чисел, заданных в VerticesPerLine, должна равняться количеству вершин в графике.
Graph::plotGridGraph(G, VerticesPerLine=n, VertexOrder=[v1..vn]) возвращает график:: объекту Scene нравится описанный выше за одним исключением. В каждой строке существуют точно вершины n. Они появляются в отсортированном порядке в зависимости от порядка, который был задан в VertexOrder. vi может состоять из любой заданной вершины, а также замена None. Тем не менее, количество вершин в G не должно превышать количество VerticesPerLine. Если последние синхронизации строчной развертки только одна вершина, это будет сосредоточено.
Во-первых, маленький график создан и построен со значениями по умолчанию:
G := Graph([a, b, c, d], [[a, b], [b, c], [c, d], [d, a]]): plot(Graph::plotGridGraph(G))

Теперь, мы обмениваемся этими двумя вершинами c и d. Распоряжением, данным выше, был [a, b, c, d]:
plot(Graph::plotGridGraph(G, VertexOrder = [a, b, d, c]))

Если только одна вершина будет помещена в последнюю строку, она будет сосредоточена:
plot(Graph::plotGridGraph(G, VertexOrder = [a, b, d, c],
VerticesPerLine = 3))
Тот же результат может быть получен путем определения Вершин на строку в частности (в этом случае, количество вершин должно быть не меньше, чем количеством вершин в графике):
plot(Graph::plotGridGraph(G, VertexOrder = [a, b, d, c],
VerticesPerLine = [3, 1]))
Теперь мы переходим к сути дела, почему стандартная программа графика получила имя Сетка. None замены может использоваться каждый раз, когда место должно быть пропущено. Думайте о небольшом количестве чертежной бумаги со шкатулками. Размещение является точно тем же самым. В этом случае это состояло бы из 3 шкатулок в каждой строке. Ни один не оставляет его незаполненный, в то время как вершина из Графика чертится. Поскольку первая шкатулка пуста, первый цвет не использован, также. Вершина a, который помещается во вторую шкатулку, чертится, как предопределено в Vertex2Color (RGB::Green):
plot(Graph::plotGridGraph(G,
VertexOrder = [None, a, None,
b, None, c,
None, d, None],
VerticesPerLine = 3))
Со знанием, полученным до сих пор, возможно стать более глубоким в искусство создания объектов. Одни из самых полезных выходных параметров являются одним дерева. Таким образом График создается, чтобы использоваться для древовидного вывода:
TreeGraph := Graph([a, b, c, d, e, f, g, h, i, j, k, l],
[[a, b], [a, c], [b, d], [b, e], [c, f], [c, g],
[d, h], [e, i], [e, j], [f, k], [g, l]], Directed):Затем мы задаем специальный порядок вершины, потому что вершины не чертятся путем, они были заданы:
vOrder := [None, None, None, None, None, None, a, None, None, None, None, None, None, None, b, None, None, None, None, None, None, c, None, None, None, d, None, None, e, None, None, f, None, None, g, None, h, None, None, i, None, j, None, None, k, None, None, l ]:
Теперь пора взглянуть на то, как дерево смотрит:
plot(Graph::plotGridGraph(TreeGraph,
VerticesPerLine = 12, VertexOrder = vOrder))
Теперь мы хотим видеть путь от вершины a к Vertexb. Для этого примера это будет дано явным образом. Для больших графиков рекомендуется одна из процедур shortestPath:
specialPath := [[a, c], [c, f], [f, k]]:
Наконец мы чертим путь в Графике и имеем хороший обзор о пути, который это берет:
plot(Graph::plotGridGraph(TreeGraph,
VerticesPerLine = 12, VertexOrder = vOrder,
SpecialEdges = specialPath, SpecialEdgeColor = RGB::Blue))
Чтобы показать, что может быть сделано с более подробными и комплексными примерами, маленькая внешняя поверхность чертится (внимательно рассмотрели ath Вершины, которые не чертятся, потому что цвет выбран к RBG:: Белый и таким образом равняется цвету фона). Additionaly, “глаза” были окрашены по-другому, таким образом, использование SpecialVertexColor могло быть представлено:
Smile := Graph([1,2,4,5,7,8,9,10,11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],
[[1,4],[2,5],[4,5],[7,4],[5,8],[7,10],[9,10],[10,14],[9,13],
[13,19],[19,20],[20,14],[14,15],[15,16],[16,17],[17,11],
[ 8,11],[11,12],[12,18],[18,22],[22,21],[21,17],[21,24],
[24,28],[28,32],[32,36],[36,35],[35,34],[34,33],[33,29],
[29,25],[25,23],[23,20],[26,30],[30,31],[31,27]]):
plot(
Graph::plotGridGraph(Smile, VerticesPerLine = 10,
VertexOrder = [
None,None,None, 1,None,None, 2,None,None,None,
None,None,None,None, 4, 5,None,None,None,None,
None,None,None, 7,None,None, 8,None,None,None,
None, 9, 10,None,None,None,None, 11, 12,None,
13,None,None, 14, 15, 16, 17,None,None, 18,
None, 19, 20,None,None,None,None, 21, 22,None,
None,None, 23,None,None,None,None, 24,None,None,
None,None, 25, 26,None,None, 27, 28,None,None,
None,None, 29,None, 30, 31,None, 32,None,None,
None,None,None, 33, 34, 35, 36,None,None,None],
SpecialEdges = [[13,9],[9,10],[10,14],[14,20],[20,19],[19,13],
[14,15],[15,16],[16,17],[17,21],[21,22],[22,18],[18,12],[12,11],
[11,17]],
SpecialVertices = [1,2,4,5,7,8,23,24,25,26,27,28,29,30,31,
32,33,34,35,36],
VertexColor = RGB::White,
SpecialVertexColor = RGB::Green, EdgeColor = RGB::Green,
SpecialEdgeColor = RGB::Black)
)
Следующим примером является полный график, чертивший с вершинами, упорядоченными в квадрате так, чтобы все вершины могли быть соединены в квадрате:
CG := Graph::createCompleteGraph(30):
plot(Graph::plotGridGraph(CG,
VerticesPerLine = [8, 2, 2, 2, 2, 2, 2, 2, 8],
Vertex1Color = RGB::Red, Vertex2Color = RGB::Red))
Используя значения по умолчанию в каждой строке вершины чертятся и взгляды графика, не столь “плотные” как выше одного:
plot(Graph::plotGridGraph(CG, Vertex1Color = RGB::Red,
Vertex2Color = RGB::Red))
Последний пример показывает маленького бумажного змея в кадре:
Shield := Graph([1, 2, 3, 4, 5, 6, 7, 8, 9],
[[1, 2], [1, 8], [2, 9], [8, 9], [3, 5], [4, 5],
[5, 6], [5, 7], [3, 6], [6, 7], [3, 4], [4, 7]]):
plot(Graph::plotGridGraph(Shield, Vertex1Color = RGB::White,
Vertex2Color = RGB::White, VertexColor = RGB::White,
VerticesPerLine = 7,
VertexOrder = [
1,None,None,None,None,None, 2,
None,None,None, 3,None,None,None,
None,None,None,None,None,None,None,
None,None,None,None,None,None,None,
None,None,None,None,None,None,None,
None, 4,None, 5,None, 6,None,
None,None,None,None,None,None,None,
None,None,None,None,None,None,None,
None,None,None,None,None,None,None,
None,None,None,None,None,None,None,
None,None,None,None,None,None,None,
None,None,None,None,None,None,None,
None,None,None,None,None,None,None,
None,None,None,None,None,None,None,
None,None,None,None,None,None,None,
None,None,None,None,None,None,None,
None,None,None, 7,None,None,None,
8,None,None,None,None,None, 9],
SpecialVertices = [3, 4, 5, 6, 7],
SpecialVertexColor = RGB::Blue,
SpecialEdges = [[3, 5], [4, 5], [5, 6], [5, 7],
[3, 6], [6, 7], [3, 4], [4, 7]],
SpecialEdgeColor = RGB::Blue))
|
|
|
|
|
|
|
|
|
|
|
Задает толщину, в которой чертятся точки. Значение по умолчанию равняется 40. |
|
Если задано как один номер, это много вершин помещаются в каждую строку. Если задано как список, количество вершин на строку читается из списка. Если вершины заданы как список, количество вершин должно совпадать или с количеством вершин, заданных в графике, или, если задано, номером, заданным в |
|
Задает порядок, в который должны быть помещены вершины. Это запускается в верхнем левом углу и концах в нижнем правом углу. Количество заданных вершин должно совпадать с количеством вершин, заданных в графике или сумме вершин, заданных в VerticesPerLine. |
|
Задает набор вершин. Эта опция имеет только смысл, если используется с опцией |
|
Задает набор ребер. Эта опция имеет только смысл, если используется с опцией |
|
Задает цвет, с которым можно чертить ребра. Значением по умолчанию является RGB:: Красный |
|
Задает цвет, который будет использоваться, чтобы чертить набор заданных ребер. Эта опция имеет только смысл, если используется с опцией |
|
Задает цвет, с которым можно чертить вершины. Если эта опция задана, первые две вершины установлены в этот цвет, также. Они должны быть заданы через |
|
Задает цвет, который будет использоваться, чтобы чертить набор заданных вершин. Эта опция имеет только смысл, если используется с опцией |
|
Задает цвет, с которым можно чертить верхнюю левую (первую) вершину с (стартовая вершина). Если |
|
Задает цвет, с которым можно чертить вторую вершину с. Если |
График::.