2011-07-01 67 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');