Adding text to each subplots

166 visualizaciones (últimos 30 días)
Hannah
Hannah el 6 de Mayo de 2021
Comentada: Hannah el 31 de Mayo de 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!

Respuesta aceptada

Star Strider
Star Strider el 6 de Mayo de 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 comentarios
Milo Fitzpatrick
Milo Fitzpatrick el 31 de Mayo de 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 el 31 de Mayo de 2022
You can use replace min(xlim) by max(xlim) etc.

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by