plot legend that depicts different markes of nodes

4 Ansichten (letzte 30 Tage)
Rub Ron
Rub Ron am 23 Mär. 2023
Kommentiert: Rub Ron am 23 Mär. 2023
I want to have a legend that label the markers present in my graph plot.
G = graph([1 1], [2 3]);
plot(G,'marker',[{'o'},{'x'},{'+'}])
Legend should show:
o one
x two
x three

Akzeptierte Antwort

Dyuman Joshi
Dyuman Joshi am 23 Mär. 2023
That's why if you directly use legend after creating the graph, you will get the graph as the legend identifier.
There is a work around to achieve what you want to do -
str=[{'o'},{'x'},{'+'}];
clr='b';
figure
hold on
for k=1:numel(str)
plot(NaN,NaN,[clr str{k}])
end
G = graph([1 1], [2 3]);
plot(G,'NodeColor',clr,'EdgeColor',clr,'Marker',str,'MarkerSize',6)
legend({'one', 'two', 'three'})
  1 Kommentar
Rub Ron
Rub Ron am 23 Mär. 2023
I would just add:
plot(NaN,NaN,[clr str{k}],'MarkerFaceColor',clr)
to fill the marker.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by