determine axes handle to which a legend belongs

13 visualizzazioni (ultimi 30 giorni)
Hi,
pre 2014b I was able to use the following to get the axes handle to which a legend belongs
figure;
plot(sin(0:0.1:3));
l=legend('toggle');
a=get(l,'UserData');
a=a.PlotHandle;
from 2014b on this throws an error, because the UserData is empty.
Is there a way to determine to which axes in an existing figure a legend belongs? As an example:
y = rand(3,5);
figure(11)
s1 = subplot(2,2,1);
bar(s1,y);
l = legend('toggle');
s2 = subplot(2,2,2);
bar(s2,y);
In the example I either want to get l from s1 or s1 from l. s2 is there to make in non-trivial.
Thanks!

Risposta accettata

Walter Roberson
Walter Roberson il 4 Apr 2016
I recently noticed that legend and colorbar in R2014a and earlier have a hidden property named Axis . I suspect the property might still be there in R2015a onward; you could try that.
  1 Commento
Julian Hapke
Julian Hapke il 4 Apr 2016
Hi Walter, the "Axes"-Property did exactly what I was looking for, thank you!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Graphics Object Programming in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by