完成整个循环后,在循环中绘制并保存绘图

时间:2011-07-01 07:21:12

标签: matlab for-loop save plot

我需要不断更新循环中的绘图,因为我正在对空间中的每个段进行线性回归。我可以做得很好,并显示正确的情节。但是,我似乎无法将最终的情节保存到文件中。我的代码看起来像:

for i = 1:slabs

    %.....SOME LOOPED RESULTS HERE, SHORTENED FOR BREVITY.....

    p = polyfit(collectCoord, collectTemp, 1);
    t2 = floor(min(collectCoord)) : 0.1 : ceil(max(collectCoord));
    y2 = polyval(p,t2);

    h = plot(collectCoord, collectTemp, 'o', t2, y2);
    xlabel('X-Coordinate')
    ylabel('Temperature')
    axis([-8 8 50 800])
    hold on     
end

filename = [folder 'Plot' num2str(stepCount) '.jpg'];
saveas(h, filename);

我在这里做错了究竟是什么,或者有更好的方法来保存情节?

1 个答案:

答案 0 :(得分:3)

您在刚刚绘制的线的句柄上调用saveas()。你需要提供一个数字句柄:

f = figure();

do stuff;

saveas(f, 'file.jpg');
or
saveas(gcf(), 'file.jpg');