подсветка

Подсветите узлы и края в построенной диаграмме

Синтаксис

highlight(H,nodeIDs)
highlight(H,G)
highlight(H,s,t)
highlight(___,Name,Value)

Описание

пример

highlight(H,nodeIDs) подсвечивает узлы, заданные nodeIDs путем увеличения размеров их маркеров.

пример

highlight(H,G) подсвечивает узлы и края графика G путем увеличения их размера маркера узла и граничной ширины линии, соответственно. G должен иметь те же узлы и подмножество краев базового графика H. Если G содержит повторенные края, то они все подсвечены. Изолированные узлы с градусом 0 не подсвечены.

highlight(H,s,t) подсвечивает все края между заданными входными и выходными парами узла в s и t путем увеличения их граничных ширин строки. Если граничные индексы доступны вместо пар узла (s, t), используйте highlight(H,'Edges',idx) вместо этого.

пример

highlight(___,Name,Value) использует дополнительные опции, заданные одним или несколькими Аргументами в виде пар "имя-значение" с помощью любой из комбинаций входных аргументов в предыдущих синтаксисах. Например, highlight(H,nodes,'NodeColor','g') подсвечивает подмножество узлов путем изменения их цвета на зеленый, вместо того, чтобы увеличить их размер маркера.

Примеры

свернуть все

Создайте и постройте график. Возвратите указатель на объект GraphPlot, h.

s = 1;
t = 2:6;
G = graph(s,t);
h = plot(G,'Layout','force')

h = 
  GraphPlot with properties:

     NodeColor: [0 0.4470 0.7410]
    MarkerSize: 4
        Marker: 'o'
     EdgeColor: [0 0.4470 0.7410]
     LineWidth: 0.5000
     LineStyle: '-'
     NodeLabel: {'1'  '2'  '3'  '4'  '5'  '6'}
     EdgeLabel: {}
         XData: [3.8317e-04 0.6403 0.4648 -1.3929 1.7883 -1.5009]
         YData: [9.6820e-04 1.6734 -1.7296 1.1251 -0.0922 -0.9777]
         ZData: [0 0 0 0 0 0]

  Show all properties

Подсветите узлы 1 и 3 путем увеличения их размера маркера.

highlight(h,[1 3])

Подсветите узлы 1 и 3 путем изменения их цвета.

highlight(h,[1 3],'NodeColor','g')

Создайте и постройте график. Возвратите указатель на объект GraphPlot, h.

s = [1 1 1 1 1 1 2 3 4 5 6 7 7 7 7 8 9 10 11 8 6];
t = [2 3 4 5 6 7 3 4 5 6 2 8 9 10 11 10 10 11 8 1 11];
G = graph(s,t);
h = plot(G)

h = 
  GraphPlot with properties:

     NodeColor: [0 0.4470 0.7410]
    MarkerSize: 4
        Marker: 'o'
     EdgeColor: [0 0.4470 0.7410]
     LineWidth: 0.5000
     LineStyle: '-'
     NodeLabel: {'1'  '2'  '3'  '4'  '5'  '6'  '7'  '8'  '9'  '10'  '11'}
     EdgeLabel: {}
         XData: [1x11 double]
         YData: [1x11 double]
         ZData: [0 0 0 0 0 0 0 0 0 0 0]

  Show all properties

Вычислите минимальное дерево охвата графика. Подсветите минимальный охватывающий древовидный подграф в графике путем увеличения ширины линии и изменения цвета краев в дереве.

[T,p] = minspantree(G);
highlight(h,T,'EdgeColor','r','LineWidth',1.5)

Создайте и постройте график. Возвратите указатель на объект GraphPlot, h.

n = 10;
A = delsq(numgrid('L',n+2));
G = graph(A,'omitselfloops'); 
G.Edges.Weight = ones(numedges(G),1);
h = plot(G);

Подсветите кратчайший путь между узлами 74 и 21 путем изменения цвета узлов и краев вдоль пути к зеленому.

path = shortestpath(G,74,21);
highlight(h,path,'NodeColor','g','EdgeColor','g')

Создайте график, представляющий квадратную сетку со стороной 8 узлов. Постройте график графика и возвратите указатель на объект GraphPlot, p.

n = 8;
A = delsq(numgrid('S',n+2));
G = graph(A,'omitselfloops');
p = plot(G);

Найдите соседей узла 36.

n36 = neighbors(G,36)
n36 = 4×1

    28
    35
    37
    44

Используйте highlight, чтобы изменить цвет узла 36 к зеленому и цвету его соседей и их соединительных краев к красному.

highlight(p,36,'NodeColor',[0 0.75 0])
highlight(p,n36,'NodeColor','red')
highlight(p,36,n36,'EdgeColor','red')

Создайте и постройте график ориентированного графа. Возвратите указатель на объект GraphPlot, h.

G = digraph(bucky);
h = plot(G);

Вычислите максимальный поток между узлами 1 и 56. Задайте два выходных параметров к maxflow, чтобы возвратить ориентированного графа ненулевых потоков, GF.

[mf,GF] = maxflow(G,1,56)
mf = 3
GF = 
  digraph with properties:

    Edges: [28x2 table]
    Nodes: [60x0 table]

Используйте highlight, чтобы изменить цвет краев, которые содержат ненулевые значения потока. Также измените цвет исходного узла 1 и предназначайтесь для узла 56 к зеленому.

highlight(h,GF,'EdgeColor',[0.9 0.3 0.1],'NodeColor',[0.9 0.3 0.1])
highlight(h,[1 56],'NodeColor','g')

Постройте график кратчайшего пути между двумя узлами в мультиграфе и подсветите определенные края, которые пересечены.

Создайте взвешенный мультиграф с пятью узлами. Несколько пар узлов имеют больше чем один край между ними. Постройте график графика для ссылки.

G = graph([1 1 1 1 1 2 2 3 3 3 4 4],[2 2 2 2 2 3 4 4 5 5 5 2],[2 4 6 8 10 5 3 1 5 6 8 9]);
p = plot(G,'EdgeLabel',G.Edges.Weight);

Найдите кратчайший путь между узлом 1 и узлом 5. Поскольку несколько из пар узла имеют больше чем один край между ними, задают три выходных параметров к shortestpath, чтобы возвратить определенные края, которые пересекает кратчайший путь.

[P,d,edgepath] = shortestpath(G,1,5)
P = 1×5

     1     2     4     3     5

d = 11
edgepath = 1×4

     1     7     9    10

Результаты указывают, что кратчайший путь имеет общую длину 11 и следует за краями, данными G.Edges(edgepath,:).

G.Edges(edgepath,:)
ans=4×2 table
    EndNodes    Weight
    ________    ______

     1    2       2   
     2    4       3   
     3    4       1   
     3    5       5   

Подсветите этот граничный путь при помощи функции highlight с парой "имя-значение" 'Edges', чтобы задать индексы пересеченных краев.

highlight(p,'Edges',edgepath)

Входные параметры

свернуть все

Введите график графика, заданный как объект GraphPlot. Используйте graph или функции digraph, чтобы создать график, и затем использовать plot с выходным аргументом, чтобы возвратить объект GraphPlot.

Пример: H = график (G)

Узлы, чтобы подсветить, заданный как логический вектор, или как один или несколько индексов узла или имен узла. Если nodeIDs является логическим вектором, то он должен иметь длину numnodes(G).

Эта таблица показывает различные способы относиться к одному или нескольким узлам или их числовыми индексами узла или их именами узла.

ФормаЕдинственный узелНесколько узлов
Индекс узла

Скаляр

Пример 1

Вектор

Пример: [1 2 3]

Имя узла

Символьный вектор

Пример: A

Массив ячеек из символьных векторов

Пример: A, B, C

Скаляр строки

Пример: A

StringArray

Пример: A, B, C

nodeIDs не должен задавать имена узла, которые конфликтуют с любым из дополнительных названий параметра для highlight, таких как 'Edges' или 'EdgeColor'. Используйте findnode, чтобы вместо этого передать в индексе узла для этих случаев.

График, чтобы подсветить, заданный как объект graph или digraph. G должен иметь те же узлы и подмножество краев базового графика H. Изолированные узлы с градусом 0 не подсвечены.

Пары узла, заданные в качестве отдельных аргументов индексов узла или имен узла. Столь же расположенные элементы в s и t задают входные и выходные узлы для краев в графике.

s и t не должны задавать имена узла, которые конфликтуют с любым из дополнительных названий параметра для highlight, таких как 'Edges' или 'EdgeColor'. Используйте findnode, чтобы вместо этого передать в индексе узла для этих случаев.

Пример: подсветка (H, [1 2], [3 3]) подсвечивает края графика (1,3) и (2,3).

Пример: подсветка (H, 'b') подсвечивает все края от до 'b'.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Имя должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: подсветка (H, узлы, 'NodeColor', 'y')

Края, чтобы подсветить

свернуть все

Края, чтобы подсветить, заданный как пара, разделенная запятой, состоящая из 'Edges' и скалярного граничного индекса, вектора граничных индексов или логического вектора. Используйте эту пару "имя-значение", чтобы подсветить определенный край между узлами, когда несколько краев будут существовать между теми же двумя узлами.

Значением этой пары "имя-значение" может быть третий вывод от shortestpath или shortestpathtree, такого как [path,d,edgepath] = shortestpath(…).

Пример: подсветка (p, 'Края', edgepath)

Edge Properties

свернуть все

Цвет обводки, заданный как пара, разделенная запятой, состоящая из 'EdgeColor' и триплета 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]

Пример: график (G, 'EdgeColor', 'r') создает график графика с красными краями.

Стиль линии, заданный как пара, разделенная запятой, состоящая из 'LineStyle' и один из стилей линии, перечислен в этой таблице.

'characters'Стиль линииПолучившаяся строка
'-'Сплошная линия

'--'Пунктирная линия

':'Пунктирная линия

'-.'Штрих-пунктирная линия

'none'Никакая строкаНикакая строка

Граничная ширина линии, заданная как пара, разделенная запятой, состоящая из 'LineWidth' и положительного значения в модулях точки.

Пример: 0.75

Размер стрелки, заданный как положительное значение в модулях точки. Значением по умолчанию ArrowSize является 7 для графиков с 100 или меньшим количеством узлов и 4 для графиков больше чем с 100 узлами.

ArrowSize используется только для ориентированных графов.

Пример: 15

Положение стрелки вдоль края, заданного как значение в [0 1]. Значение около 0 стрелок мест ближе к исходному узлу и значению около 1 стрелки мест ближе к целевому узлу. Значением по умолчанию является 0.5 так, чтобы стрелки были промежуточными между входными и выходными узлами.

ArrowPosition используется только для ориентированных графов.

Node Properties

свернуть все

Цвет узла, заданный как пара, разделенная запятой, состоящая из 'NodeColor' и триплета 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]

Пример: график (G, 'NodeColor', 'k') создает график графика с узлами с неизвестным потоком.

Символ маркера узла, заданный как пара, разделенная запятой, состоящая из 'Marker' и одни из векторов символов, перечислен в этой таблице. Значение по умолчанию должно использовать круговые маркеры для вершин графика.

ЗначениеОписание
OКруг
'+'Знак «плюс»
'*'Звездочка
'.'Точка
XКрест
square' или 's'Квадрат
'diamond' или 'd'Ромб
'^'Треугольник, направленный вверх
VНисходящий треугольник
'>'Треугольник, указывающий вправо
'<'Треугольник, указывающий влево
pentagram' или 'p'Пятиконечная звезда (пентаграмма)
'hexagram' or 'h'Шестиконечная звезда (гексаграмма)
'none'Никакие маркеры

Пример: '+'

Пример: 'ромб'

Размер маркера узла, заданный как пара, разделенная запятой, состоящая из 'MarkerSize' и положительного значения в модулях точки. Размером маркера по умолчанию является 4 для графиков с 100 или меньшим количеством узлов и 2 для графиков больше чем с 100 узлами.

Пример: 10

Узел и граничные метки

свернуть все

Цвет метки узла, заданный как триплет 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]

Пример: график (G, 'NodeLabel', C, 'NodeLabelColor', 'm') создает график графика с пурпурными метками узла.

Граничный цвет метки, заданный как триплет 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]

Пример: график (G, 'EdgeLabel', C, 'EdgeLabelColor', 'm') создает график графика с пурпурными граничными метками.

Шрифт

свернуть все

Название шрифта меток узла, заданных как поддерживаемое название шрифта или 'FixedWidth'. Чтобы отобразить и распечатать правильно, необходимо выбрать шрифт, который поддерживает система. Шрифт по умолчанию зависит от конкретной операционной системы и локали. Например, Windows® и Linux®systems в английской локализации используют шрифт Helvetica по умолчанию.

Чтобы использовать шрифт фиксированной ширины, который выглядит хорошим в любой локали, задайте 'FixedWidth'.

Пример: 'Cambria'

Размер шрифта для меток узла, заданных как положительное число.

Толщина текста в метках узла, заданных как 'normal' или 'bold':

  • 'bold' — более тонкие контуры символов, чем 'normal'

  • 'normal' — Нормальный вес, как задано конкретным шрифтом

Не все шрифты имеют полужирное начертание шрифта.

Типы данных: ячейка | char | строка

Символьный наклон текста в метках узла, заданных как 'normal' или 'italic':

  • 'italic'Наклонные символы

  • 'normal' — Никакой символьный наклон

Не все шрифты имеют оба стилей шрифтов.

Типы данных: ячейка | char | строка

Название шрифта граничных меток, заданных как поддерживаемое название шрифта или 'FixedWidth'. Чтобы отобразить и распечатать правильно, необходимо выбрать шрифт, который поддерживает система. Шрифт по умолчанию зависит от конкретной операционной системы и локали. Например, Windows и Linuxsystems в английской локализации используют шрифт Helvetica по умолчанию.

Чтобы использовать шрифт фиксированной ширины, который выглядит хорошим в любой локали, задайте 'FixedWidth'.

Пример: 'Cambria'

Размер шрифта для граничных меток, заданных как положительное число.

Толщина текста в граничных метках, заданных как 'normal' или 'bold':

  • 'bold' — более тонкие контуры символов, чем 'normal'

  • 'normal' — Нормальный вес, как задано конкретным шрифтом

Не все шрифты имеют полужирное начертание шрифта.

Типы данных: ячейка | char | строка

Символьный наклон текста в граничных метках, заданных как 'normal' или 'italic':

  • 'italic'Наклонные символы

  • 'normal' — Никакой символьный наклон

Не все шрифты имеют оба стилей шрифтов.

Типы данных: ячейка | char | строка

Введенный в R2015b

Была ли эта тема полезной?