Adding text to each subplots

164 vues (au cours des 30 derniers jours)
Hannah
Hannah le 6 Mai 2021
Commenté : Hannah le 31 Mai 2022
I am plotting 4 maps in one figure and I want to add text at left bottom of each subplot. If given a fix lat and lon range, I can assign a location to the text like:
text(lon,lat,texts);
or I can use relative location like: annotation(figure1,'textbox', [distance1 distance2 width height] ) for each subplot.
BUT what if I want to make a function that always put the text at the left bottom of each subplot given any size of the map?
For example, my current function can make worldmaps with texts in each subplot like this:
the code is: text(-17790000,-3064000,texts,'fontsize',13);
but the text won't show up if I am plotting a continent rather than the globe:
Any solution for that?
Thanks!

Réponse acceptée

Star Strider
Star Strider le 6 Mai 2021
Use xlim and ylim to make the text positions relative to the axes —
x1 = linspace(0,10, 25);
y1 = exp(-0.1*x1);
x2 = linspace(-1,1, 25);
y2 = exp(-0.75*x2) .* sin(2*pi*x2);
subplot(2,1,1)
plot(x1, y1)
grid
text(min(xlim), min(ylim), sprintf('Text for subplot %d', 1), 'Horiz','left', 'Vert','bottom')
subplot(2,1,2)
plot(x2, y2)
grid
text(min(xlim), min(ylim), sprintf('Text for subplot %d', 2), 'Horiz','left', 'Vert','bottom')
.
  4 commentaires
Milo Fitzpatrick
Milo Fitzpatrick le 31 Mai 2022
Hi! is there a way I can adjust this in order to place the text into the top right hand corner please!
Thank you
Hannah
Hannah le 31 Mai 2022
You can use replace min(xlim) by max(xlim) etc.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by