2011-07-01 66 views
2

我需要不断更新循环内的图,因为我正在为空间中的每个区段进行线性回归。我可以做到这一点,并显示正确的情节。但是,我似乎无法挽救最后的情节。我的代码看起来是这样的:完成整个循环后,在循环中绘制并保存一个图

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); 

究竟是什么,我做错了什么,还是有节省的情节更好的方法?

+0

您对“saveas”的呼叫看起来没问题,发生了什么问题?一个错误?没有保存的东西?... – Edric

+1

你可以发布你得到的结果,因为乍一看这对我来说确实很好。除了美学之外:您可能想要使用不同的图像格式(如果数字要在MS Office中使用,建议使用WMF/EMF,如果在其他地方使用LaTeX或PNG/GIF,则使用PDF或EPS(C))。 JPG会给你很多文物,看起来很糟糕的图形和文字(但它是照片的高级格式)。 – Egon

回答

3

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

f = figure(); 

do stuff; 

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