问题是如何在matlab或octave中同时绘制两个不同的图。
我有循环,在该循环执行期间有数据应该在两个不同的图中绘制。执行循环后,我想将这些图保存到光盘
如何同时在两个不同的图中实施绘图?
据我所知,我应该创建两个不同的句柄,然后使用这些句柄绘图,最后使用句柄保存这些图
有什么想法怎么做?
更新:
还有一个问题:如何在不显示情节本身的情况下绘制到处理程序中。我在循环中有很多迭代,所以当我只需要将它们保存到文件中时,用图解关闭所有窗口很烦人。
答案 0 :(得分:3)
我在@Pursuit的答案上进行了一些扩展,并添加了一个更明确的循环,其中数据被创建并迭代地绘制。请注意,无论您当前有什么活动,都可以使用figure()创建一个新的数字句柄:
%Create figures, and set hold
f1 = figure(); hold on
f2 = figure(); hold on
%Variables for arbitrary loop
done = 0;
counter = 0;
n = 100;
while not(done)
%Activate figure 1 and plot
%figure(f1); %Comment in to switch between windows for each update
set(0,'CurrentFigure',f1) %Comment out if above line is used instead
plot(counter,rand,'r.')
%Activate figure 2
figure(f2);
plot(counter+10,rand*10,'ro');
counter = counter + 1;
if counter >= n
done = 1;
end
end
%Save figures
saveas(f1, 'figure_1.tiff','tiff');
saveas(f2, 'figure_2.tiff','tiff');