How to name multiple plots/subplots on a loop?

11 次查看(过去 30 天)
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

采纳的回答

Image Analyst
Image Analyst 2013-4-1
编辑:Image Analyst 2013-4-1
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);

更多回答(1 个)

Nicolas Braconi
Nicolas Braconi 2020-11-30
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 个评论
Rt Ro
Rt Ro 2020-12-21
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 2020-12-22
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Formatting and Annotation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by