Changing subplot axis label using subplot handle
225 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a figure with 2 subplots, and I'd like to set the axis labels. I have assigned the handles P1 and P2 to the two subplots, e.g.
P1 = subplot(2,1,1);
P2 = subplot(2,1,2);
After plotting my data, I can do things like:
set(P1, 'YLim', [0 2])
but when I try changing the xlabel,
set(P1, 'Xlabel', 'This is the X label')
I get an error:
??? Error using ==> set Value must be a handle
I've tried changing case 'xlabel' and a few other things, but the documentation wasn't any help. Any ideas?
0 commentaires
Réponse acceptée
Geoff
le 16 Avr 2012
That's because the value for 'XLabel' is actually a handle to another object. To see its properties, do this:
get( get(P1,'XLabel') );
Now, there's a property in there called 'String'. You should do this:
set( get(P1,'XLabel'), 'String', 'This is the X label' );
Plus de réponses (2)
Image Analyst
le 16 Avr 2012
Earl, there is a function called xlabel() and it takes a handle.
xlabel(P1, 'This is the X Label');
I believe this is the preferred, simpler way. If you set it right after you call subplot, then you don't even need to pass in the axes
suplot(1,2,1);
plot(x,y);
xlabel('X axis #1', 'FontSize', 20);
suplot(1,2,2);
plot(x,y);
xlabel('X axis #2', 'FontSize', 14);
1 commentaire
Nguyen Thien An
le 23 Déc 2019
This syntax work with me:
ax = subplot (2,2,1)
ax.XLabel.String = 'This is your label';
0 commentaires
Voir également
Catégories
En savoir plus sur Subplots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!