Adding multiple labels to a graph
23 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have the following graph:
s = [1 2 3 4 6 7 8 10];
t = [3 3 4 5 7 5 9 11];
G = digraph(s,t);
h = plot(G);
and want to add the following labels to the nodes
schedule = [0 0 1 2 3 1 2 2 3 2 3];
I am struggling to manage this with my basic Matlab knowledge. I want to display the node numbers (here: [1:1:11]) and the corresponding values from the schedule array.
0 Kommentare
Akzeptierte Antwort
Voss
am 6 Dez. 2022
s = [1 2 3 4 6 7 8 10];
t = [3 3 4 5 7 5 9 11];
G = digraph(s,t);
h = plot(G);
% schedule = [0 0 1 2 3 1 2 2 3 2 3];
yd = get(h,'YData');
schedule = max(yd)-min(yd)-yd+1
text(get(h,'XData')-0.1,yd,string(schedule), ...
'HorizontalAlignment','right', ...
'EdgeColor','k', ...
'FontSize',8)
4 Kommentare
Weitere Antworten (1)
Maik
am 6 Dez. 2022
% You can use nodenames propertiest of digraph. However the names must be unique
s = [1 2 3 4 6 7 8 10];
t = [3 3 4 5 7 5 9 11];
weights = ones(1,8);
names = {'A' 'B' 'C' 'D' 'E' 'F' 'G 4' 'H 5' '1' '2' '3'};
G = digraph(s,t,weights,names)
h = plot(G)
Siehe auch
Kategorien
Mehr zu Graph and Network Algorithms finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!