Постройте график вершин графика и краев
plot(G)
plot(G,LineSpec)
plot(___,Name,Value)
plot(ax,___)
h = plot(___)
устанавливает стиль линии, символ маркера и цвет. Например, plot(G,LineSpec)
plot(G,'-or')
использует красные круги для узлов и красные линии для краев.
plot(___,Name,Value)
использует дополнительные опции, заданные одним или несколькими Аргументами в виде пар "имя-значение" с помощью любой из комбинаций входных аргументов в предыдущих синтаксисах. Например, plot(G,'Layout','circle')
строит график кругового кольцевого размещения графика, и plot(G,'XData',X,'YData',Y,'ZData',Z)
задает координаты (X,Y,Z)
вершин графика.
строит график в оси, заданные plot(ax,___)
ax
вместо в текущую систему координат (gca
). Опция, ax
, может предшествовать любой из комбинаций входных аргументов в предыдущих синтаксисах.
возвращает объект h = plot(___)
GraphPlot
. Используйте этот объект осмотреть и настроить свойства построенной диаграммы.
Создайте график с помощью разреженной матрицы смежности, и затем постройте график графика.
n = 10; A = delsq(numgrid('L',n+2)); G = graph(A,'omitselfloops')
G = graph with properties: Edges: [130x2 table] Nodes: [75x0 table]
plot(G)
Создайте и постройте график. Задайте входной параметр LineSpec
, чтобы изменить Маркер
, NodeColor
и/или LineStyle
графика графика.
G = graph(bucky); plot(G,'-.dr','NodeLabel',{})
Создайте ориентированного графа, и затем постройте график графика с помощью размещения 'force'
.
G = digraph(1,2:5); G = addedge(G,2,6:15); G = addedge(G,15,16:20)
G = digraph with properties: Edges: [19x1 table] Nodes: [20x0 table]
plot(G,'Layout','force')
Создайте взвешенный график.
s = [1 1 1 1 1 2 2 7 7 9 3 3 1 4 10 8 4 5 6 8]; t = [2 3 4 5 7 6 7 5 9 6 6 10 10 10 11 11 8 8 11 9]; weights = [1 1 1 1 3 3 2 4 1 6 2 8 8 9 3 2 10 12 15 16]; G = graph(s,t,weights)
G = graph with properties: Edges: [20x2 table] Nodes: [11x0 table]
Постройте график графика с помощью пользовательских координат для узлов. X-координаты заданы с помощью XData
, y-координаты заданы с помощью YData
, и z-координаты заданы с помощью ZData
. Используйте EdgeLabel
, чтобы маркировать края с помощью веса ребра.
x = [0 0.5 -0.5 -0.5 0.5 0 1.5 0 2 -1.5 -2]; y = [0 0.5 0.5 -0.5 -0.5 2 0 -2 0 0 0]; z = [5 3 3 3 3 0 1 0 0 1 0]; plot(G,'XData',x,'YData',y,'ZData',z,'EdgeLabel',G.Edges.Weight)
Просмотрите график сверху.
view(2)
Создайте взвешенный график.
s = [1 1 1 1 2 2 3 4 4 5 6]; t = [2 3 4 5 3 6 6 5 7 7 7]; weights = [50 10 20 80 90 90 30 20 100 40 60]; G = graph(s,t,weights)
G = graph with properties: Edges: [11x2 table] Nodes: [7x0 table]
Постройте график графика, маркировав края их весами, и делая ширину краев пропорциональной их весам. Используйте перемасштабированную версию веса ребра, чтобы определить ширину каждого края, такого, что самая широкая строка имеет ширину 5.
LWidths = 5*G.Edges.Weight/max(G.Edges.Weight); plot(G,'EdgeLabel',G.Edges.Weight,'LineWidth',LWidths)
Создайте ориентированного графа. Постройте график графика с пользовательскими метками для узлов и краев.
s = [1 1 1 2 2 3 3 4 4 5 6 7]; t = [2 3 4 5 6 5 7 6 7 8 8 8]; G = digraph(s,t)
G = digraph with properties: Edges: [12x1 table] Nodes: [8x0 table]
eLabels = {'x' 'y' 'z' 'y' 'z' 'x' 'z' 'x' 'y' 'z' 'y' 'x'}; nLabels = {'{0}','{x}','{y}','{z}','{x,y}','{x,z}','{y,z}','{x,y,z}'}; plot(G,'Layout','force','EdgeLabel',eLabels,'NodeLabel',nLabels)
Создайте и постройте график ориентированного графа. Задайте выходной аргумент plot
, чтобы возвратить указатель на объект GraphPlot
.
s = [1 1 1 2 2 3 3 4 5 5 6 7 7 8 8 9 10 11]; t = [2 3 10 4 12 4 5 6 6 7 9 8 10 9 11 12 11 12]; G = digraph(s,t)
G = digraph with properties: Edges: [18x1 table] Nodes: [12x0 table]
p = plot(G)
p = GraphPlot with properties: NodeColor: [0 0.4470 0.7410] MarkerSize: 4 Marker: 'o' EdgeColor: [0 0.4470 0.7410] LineWidth: 0.5000 LineStyle: '-' NodeLabel: {1x12 cell} EdgeLabel: {} XData: [2.5000 1.5000 2.5000 2 3 2 3 3 2.5000 4 3.5000 2.5000] YData: [7 6 6 5 5 4 4 3 2 3 2 1] ZData: [0 0 0 0 0 0 0 0 0 0 0 0] Show all properties
Измените цвет и маркер узлов.
p.Marker = 's'; p.NodeColor = 'r';
Увеличьте размер узлов.
p.MarkerSize = 7;
Измените стиль линии краев.
p.LineStyle = '--';
Измените координаты x и y узлов.
p.XData = [2 4 1.5 3.5 1 3 1 2.1 3 2 3.1 4]; p.YData = [3 3 3.5 3.5 4 4 2 2 2 1 1 1];
G
Введите графикgraph
| объект digraph
Входной график, заданный как объект граф или диграф.
Используйте граф для создания неориентированного графа или диграф для создания ориентированного графа.
Пример: G = график (1,2)
Пример: G = digraph([1 2],[2 3])
LineSpec
Стиль линии, символ маркера и цветСтиль линии, символ маркера и цвет, заданный как вектор символа или вектор строки символов. Символы могут появиться в любом порядке, и можно не использовать один или несколько характеристик. Если вы не используете стиль линии, то график показывает сплошные линии для краев графика.
Пример: '-или'
использование красные круговые маркеры узла и красные пунктирные линии как края.
Пример: 'r*'
использует красные маркеры узла звездочки и твердые красные линии как края.
Символ | Стиль линии |
---|---|
- | Сплошная линия (значение по умолчанию) |
-- | Пунктирная линия |
: | Пунктирная линия |
-. | Штрихпунктирная линия |
Символ | Маркер |
---|---|
o | Круг |
+ | Знак «плюс» |
* | Звездочка |
. | Точка |
x | Крест |
s | Квадрат |
d | Ромб |
^ | Треугольник, направленный вверх |
v | Нисходящий треугольник |
> | Треугольник, указывающий вправо |
< | Треугольник, указывающий влево |
p | Пентаграмма |
h | Гексаграмма |
Символ | Цвет |
---|---|
| желтый |
| пурпурный |
| голубой |
| красный |
| зеленый |
| синий |
| белый |
| черный |
ax
— Объект осейОбъект осей. Если вы не задаете объект осей, то строите график
, использует текущую систему координат (gca)
.
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Имя
должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
p = график (G, 'EdgeColor', 'r', 'NodeColor', 'k', 'LineStyle'', - ')
Свойства графика, перечисленные здесь, являются только подмножеством. Для полного списка см. Свойства GraphPlot.
ArrowSize
ArrowSize ArrowSize
только влияет на отображение ориентированных графов, созданных с помощью digraph
.
Размер стрелки, заданный как пара, разделенная запятой, состоящая из 'ArrowSize'
и положительного значения в модулях точки. Значением по умолчанию ArrowSize
является 7
для графиков с 100 или меньшим количеством узлов и 4
для графиков больше чем с 100 узлами.
Пример: 15
'EdgeCData'
Цветные данные граничных строкЦветные данные граничных строк, заданных как пара, разделенная запятой, состоящая из 'EdgeCData'
и вектора с длиной, равняются количеству краев в графике. Значения в EdgeCData
отображаются линейно в цветах в текущей палитре, приводящей к различным цветам для каждого края в построенной диаграмме.
'EdgeColor'
'EdgeColor' [0 0.4470 0.7410]
(значение по умолчанию) | триплет RGB или название цвета | матрица | 'flat'
| 'none'
Цвет обводки, заданный как пара, разделенная запятой, состоящая из 'EdgeColor'
и одно из этих значений:
'none'
Края не чертятся.
'flat'
— Цвет каждого края зависит от значения EdgeCData
.
Триплет RGB или название цвета — Края используют заданный цвет.
Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7].
Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены варианты длинного и краткого наименований цветов и их эквивалентные значения RGB.
Опция | Описание | Эквивалентный триплет RGB |
---|---|---|
'красный' или 'r'
| Красный | [1 0 0] |
'green' или 'g' | Зеленый | [0 1 0] |
'blue' или 'b' | Синий | [0 0 1] |
'yellow' или 'y' | Желтый | [1 1 0] |
'пурпурный' или 'm'
| Пурпурный | [1 0 1] |
'голубой' или 'c'
| Голубой | [0 1 1] |
'white' или 'w' | Белый | [1 1 1] |
'black' или 'k' | Черный | [0 0 0] |
матрица — Каждой строкой является триплет RGB, представляющий цвет одного края. Размером матрицы является numedges(G)
-by-3
.
Пример: график (G, 'EdgeColor', 'r')
создает график графика с красными краями.
'EdgeLabel'
Граничные метки{}
(значение по умолчанию) | вектор | массив ячеек из символьных векторов | массив строкГраничные метки, заданные как пара, разделенная запятой, состоящая из 'EdgeLabel'
и числового вектора, массива ячеек из символьных векторов или массива строк. Длина EdgeLabel
должна быть равна количеству краев в графике. EdgeLabel
по умолчанию массив пустой ячейки (никакие граничные метки не отображены).
Пример: A, B, C
Пример: [1 2 3]
Пример: график (G, 'EdgeLabel', G.Edges.Weight)
маркирует края графика их весами.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| ячейка
| строка
размещение
Метод макета графика'auto'
(значение по умолчанию) | 'circle'
| 'force'
| 'layered'
| 'subspace'
| 'force3'
| 'subspace3'
Метод макета графика, заданный как пара, разделенная запятой, состоящая из 'Layout'
и одна из опций в таблице. Таблица также приводит совместимые пары "имя-значение", чтобы далее совершенствовать каждый метод макета. Смотрите страницу с описанием layout
для получения дополнительной информации об этих специфичных для размещения парах "имя-значение".
Опция | Описание | Специфичные для размещения пары "имя-значение" |
---|---|---|
'auto' (значение по умолчанию) |
Автоматический выбор метода макета на основе размера и структуры графика. |
— |
'circle' |
Круговое размещение. Помещает вершины графика в круг, центрируемый в начале координат с радиусом 1. |
|
Сила |
Направленное на силу размещение [1]. Использует привлекательные силы между смежными узлами и отталкивающие силы между удаленными узлами. |
|
Многоуровневый |
Многоуровневое размещение узла [2], [3], [4]. Помещает вершины графика в набор уровней, показывая иерархическую структуру. По умолчанию уровни прогрессируют вниз (стрелки направленной точки графа без петель вниз). |
|
Подпространство |
Подпространство, встраивающее размещение узла [5]. Строит график вершин графика в высоко-размерном встроенном подпространстве, и затем проектирует положения назад в 2D. По умолчанию размерность подпространства или 100 или общее количество узлов, какой бы ни меньше. |
|
'force3' | 3-D направленное на силу размещение. |
|
'subspace3' | 3-D размещение встраивания подпространства. |
|
Пример: график (G, 'Размещение', 'force3', 'Итерации', 10)
Пример: график (G, 'Размещение', 'подпространство', 'Размерность', 50)
Пример: график (G, 'Размещение', 'разделенное на уровни')
'LineStyle'
— Стиль линии'-'
(значение по умолчанию) | '--'
| ':'
| '-.'
| 'none'
| массив ячеек | представляет вектор в виде строкиСтиль линии, заданный как пара, разделенная запятой, состоящая из 'LineStyle'
и один из стилей линии, перечисленных в этой таблице, или как массив ячеек или вектор строки таких значений. Задайте массив ячеек из символьных векторов или вектор строки, чтобы использовать различные стили линии для каждого края.
'characters' | Стиль линии | Получившаяся строка |
---|---|---|
'-' | Сплошная линия |
|
'--' | Пунктирная линия |
|
':' | Пунктирная линия |
|
'-.' | Штрих-пунктирная линия |
|
'none' | Никакая строка | Никакая строка |
'LineWidth'
Граничная ширина линии0.5
(значение по умолчанию) | положительное значение | векторГраничная ширина линии, заданная как пара, разделенная запятой, состоящая из 'LineWidth'
и положительного значения в модулях точки или векторе таких значений. Задайте вектор, чтобы использовать различную ширину линии для каждого края в графике.
Пример: 0.75
'Marker'
— Символ маркера узла'o'
(значение по умолчанию) | вектор символа | массив ячеек | представляет вектор в виде строкиСимвол маркера узла, заданный как пара, разделенная запятой, состоящая из 'Marker'
и одни из векторов символов, перечисленных в этой таблице, или как массив ячеек или вектор строки таких значений. Значение по умолчанию должно использовать круговые маркеры для вершин графика. Задайте массив ячеек из символьных векторов или вектор строки, чтобы использовать различные маркеры для каждого узла.
Значение | Описание |
---|---|
O | Круг |
'+' | Знак «плюс» |
'*' | Звездочка |
'.' | Точка |
X | Крест |
square' или 's'
| Квадрат |
'diamond' или 'd'
| Ромб |
'^' | Треугольник, направленный вверх |
V | Нисходящий треугольник |
'>' | Треугольник, указывающий вправо |
'<' | Треугольник, указывающий влево |
pentagram' или 'p'
| Пятиконечная звезда (пентаграмма) |
'hexagram' or 'h'
| Шестиконечная звезда (гексаграмма) |
'none' | Никакие маркеры |
Пример: '+'
Пример: 'ромб'
'MarkerSize'
Размер маркера узлаРазмер маркера узла, заданный как пара, разделенная запятой, состоящая из 'MarkerSize'
и положительного значения в модулях точки или как вектор таких значений. Задайте вектор, чтобы использовать различные размеры маркера для каждого узла в графике. Значение по умолчанию MarkerSize
4 для графиков с 100 или меньшим количеством узлов и 2
для графиков больше чем с 100 узлами.
Пример: 10
'NodeCData'
Цветные данные маркеров узлаЦветные данные маркеров узла, заданных как пара, разделенная запятой, состоящая из 'NodeCData'
и вектора с длиной, равняются количеству узлов в графике. Значения в NodeCData
отображаются линейно в цветах в текущей палитре, приводящей к различным цветам для каждого узла в построенной диаграмме.
'NodeColor'
'NodeColor' [0 0.4470 0.7410]
(значение по умолчанию) | триплет RGB или название цвета | матрица | 'flat'
| 'none'
Цвет узла, заданный как пара, разделенная запятой, состоящая из 'NodeColor'
и одно из этих значений:
'none'
Узлы не чертятся.
'flat'
— Цвет каждого узла зависит от значения NodeCData
.
Триплет RGB или название цвета — Узлы используют заданный цвет.
Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7].
Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены варианты длинного и краткого наименований цветов и их эквивалентные значения RGB.
Опция | Описание | Эквивалентный триплет RGB |
---|---|---|
'красный' или 'r'
| Красный | [1 0 0] |
'green' или 'g' | Зеленый | [0 1 0] |
'blue' или 'b' | Синий | [0 0 1] |
'yellow' или 'y' | Желтый | [1 1 0] |
'пурпурный' или 'm'
| Пурпурный | [1 0 1] |
'голубой' или 'c'
| Голубой | [0 1 1] |
'white' или 'w' | Белый | [1 1 1] |
'black' или 'k' | Черный | [0 0 0] |
матрица — Каждой строкой является триплет RGB, представляющий цвет одного узла. Размером матрицы является numnodes(G)
-by-3
.
Пример: график (G, 'NodeColor', 'k')
создает график графика с узлами с неизвестным потоком.
'NodeLabel'
Метки узлаМетки узла, заданные как пара, разделенная запятой, состоящая из 'NodeLabel'
и числового вектора, массива ячеек из символьных векторов или массива строк. Длина NodeLabel
должна быть равна количеству узлов в графике. NodeLabel
по умолчанию массив ячеек, содержащий идентификаторы узла для вершин графика:
Для узлов без имен (то есть, G.Nodes
не содержит переменную Name
), метки узла являются значениями unique(G.Edges.EndNodes)
, содержавшийся в массиве ячеек.
Для именованных узлов метками узла является G.Nodes.Name'
Имя.
Пример: A, B, C
Пример: [1 2 3]
Пример: график (G, 'NodeLabel', G.Nodes. Назовите)
, маркирует узлы их именами.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| ячейка
| строка
'XData'
— x-координата узловXData
и YData
должны быть заданы вместе так, чтобы каждый узел имел допустимое (x, y) координата. Опционально, можно также задать ZData
для 3-D координат.
x-координата узлов, заданных как пара, разделенная запятой, состоящая из 'XData'
и вектора с длиной, равняется количеству узлов в графике.
'YData'
— y-координата узловXData
и YData
должны быть заданы вместе так, чтобы каждый узел имел допустимое (x, y) координата. Опционально, можно также задать ZData
для 3-D координат.
y-координата узлов, заданных как пара, разделенная запятой, состоящая из 'YData'
и вектора с длиной, равняется количеству узлов в графике.
'ZData'
— z-координата узловXData
и YData
должны быть заданы вместе так, чтобы каждый узел имел допустимое (x, y) координата. Опционально, можно также задать ZData
для 3-D координат.
z-координата узлов, заданных как пара, разделенная запятой, состоящая из 'ZData'
и вектора с длиной, равняется количеству узлов в графике.
h
GraphPlotGraphPlot
График графика, возвращенный как объект. Для получения дополнительной информации смотрите GraphPlot
.
[1] Фрачтермен, T. и Э. Рейнголд. “Рисунок графика Направленным на силу Размещением”. Программное обеспечение — Practice & Experience. Издание 21 (11), 1991, стр 1129–1164.
[2] Gansner, E., E. Koutsofios, S. Север и K.-P Vo. “Метод для Рисования Ориентированных графов”. Транзакции IEEE на Разработке программного обеспечения. Vol.19, 1993, стр 214–230.
[3] Барт, W., M. Juenger и П. Муцель. “Простой и Эффективный Перекрестный подсчет Двойного слоя”. Журнал Алгоритмов Графика и Приложений. Vol.8 (2), 2004, стр 179–194.
[4] Brandes, U. и Б. Коепф. “Быстрое и Простое Присвоение Горизонтальной координаты”. LNCS. Издание 2265, 2002, стр 31–44.
[5] И. Корен. “Чертя Графики Собственными векторами: Теория и Практика”. Компьютеры и Математика с Приложениями. Издание 49, 2005, стр 1867–1888.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.