Borrar filtros
Borrar filtros

How to name multiple plots/subplots on a loop?

11 visualizaciones (últimos 30 días)
Andrew
Andrew el 1 de Abr. de 2013
Comentada: Image Analyst el 22 de Dic. de 2020
This loop plots 1 plot with 3 subplots on the same Figure ii times. I cannot figure out how though to label each of the 4 plot with a unique name as the loop progresses. I can use the title, but it only names one of the plots which leaves the other 3 in question to which they are.
for iv = mod((1:numel(k)),12)
k_i = k(iv);
figure (k_i)
DataAnalPlot([c(1:ii,k_i) p(1:ii,k_i)],[c(1:ii,k_i+1) p(1:ii,k_i+1)],[c(1:ii,k_i+2) p(1:ii,k_i+2)],[c(1:ii,k_i+3) p(1:ii,k_i+3)]);
end

Respuesta aceptada

Image Analyst
Image Analyst el 1 de Abr. de 2013
Editada: Image Analyst el 1 de Abr. de 2013
First of all, don't use figure() in the loop - use subplot() instead. In the loop you can use sprintf() to build a caption, and then use title() to display it over the plot.
Assuming iv takes on the values 1, 2, 3, and 4:
subplot(2, 2, iv);
caption = sprintf('This is plot #%d', iv);
title(caption, 'FontSize', 20);

Más respuestas (1)

Nicolas Braconi
Nicolas Braconi el 30 de Nov. de 2020
For any future visitors I figured out that you can do it this way: Create a cell with the title you want each plot to take, for example months, Note that the number of entries in your cell should match the number of subplots, 1 title for each plot
cellmonth={'January','February','March','April','May','June','July'...
,'August','September','October','November','December'};
then you write a for loop with the number of subplots you want
for i=1:12
title(cellmonth(1,j))
.
.
.
.
end
  3 comentarios
Rt Ro
Rt Ro el 21 de Dic. de 2020
Hi, thanks for the answer. could you please let me know how I can move each title to up on the left?
Image Analyst
Image Analyst el 22 de Dic. de 2020
Try this:
for k = 1 : 12
subplot(4, 3, k);
caption = sprintf('Month #%d', k); % Caption changes depending on k
title(caption, 'FontSize', 20, 'HorizontalAlignment', 'right');
end
I have no idea why you say 'right' when you want to put it on the left. Seems like a bug.

Iniciar sesión para comentar.

Categorías

Más información sobre Formatting and Annotation en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by