Adding a legend from a loop into one element
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi, I created a loop (p4) and would like to find a way to combine them into one element so that when I click on p4 in the legend this element disappears (visibility off). See below for the code.
for k=1:size(A,1)
p4 = plot3([A(k,1),B(k,1)],[A(k,2),B(k,2)],[A(k,3),B(k,3)],'b');
end
...
L = legend([p1 p2 p3 p4 S p5 p7 p9],{'p1','p2','p3','p4','S','p5','p7','p9'},'location','Best');
L.ItemHitFcn = @hitcallback_ex1;
function hitcallback_ex1(src,evnt)
if strcmp(evnt.Peer.Visible,'on') evnt.Peer.Visible = 'off'; else evnt.Peer.Visible = 'on'; end
end
end
At the moment, nothing happens when I click on p4. Thank you in advance!
3 Commenti
Jos (10584)
il 11 Gen 2018
What are the undefined handles p1 p2 p3 S p5 p6 p9 ? Don't you want to use
p(k) = ...
legend(p, ...
Risposte (1)
Jan
il 12 Gen 2018
I'm not sure, but maybe this helps:
L = legend(p4, {'p4'},'location','Best');
L.ItemHitFcn = {@hitcallback_ex, p4};
function hitcallback_ex1(src, evnt, LineH)
if strcmp(LineH.Visible, 'on')
LineH.Visible = 'off';
else
LineH.Visible = 'on';
end
end
0 Commenti
Vedere anche
Categorie
Scopri di più su Legend in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!