八度,matlab,绘制在两个不同的地块

时间:2012-01-03 20:54:34

标签: matlab plot octave

问题是如何在matlab或octave中同时绘制两个不同的图。 我有循环,在该循环执行期间有数据应该在两个不同的图中绘制。执行循环后,我想将这些图保存到光盘 如何同时在两个不同的图中实施绘图? 据我所知,我应该创建两个不同的句柄,然后使用这些句柄绘图,最后使用句柄保存这些图 有什么想法怎么做? 更新:
还有一个问题:如何在不显示情节本身的情况下绘制到处理程序中。我在循环中有很多迭代,所以当我只需要将它们保存到文件中时,用图解关闭所有窗口很烦人。

1 个答案:

答案 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');