2012-07-05 1451 views
7

我有大量需要製作直方圖的文件,因此我想從命令行保存它。對於情節我通常使用以下命令將其保存在MATLAB:在matlab中,如何從命令行保存直方圖?

figure = plot (x,y) 
saveas(figure, output, 'jpg') 

我想爲直方圖做同樣的:

figure = hist(x) 
saveas(figure, output, 'jpg') 

但是我得到不正確說手柄錯誤。我也嘗試imwrite函數,代碼執行但保存一個空白的黑色圖像。有沒有一種方法可以保存我的直方圖?

+0

當使用print命令時會發生這種情況:print(figure,output,' - djpeg')? – nicholas 2012-07-05 20:27:53

回答

13

當您使用帶輸出參數的hist時,它將返回每個bin的計數,而不是像您習慣的其他類型的圖的句柄對象。

取而代之,拿一個圖的句柄,用hist沒有輸出參數繪製到圖中,然後保存該圖。

fh = figure; 
hist(x); 
saveas(fh, output, 'jpg') 
close(fh) 
1

export_figMATLAB file exchange自動爲您處理此,並具有很好的特性,以及。有關如何使用它的示例,請參閱我的另一個答案here

0
fh = figure; 
imhist(x); 
saveas(fh, 'output', 'jpg'); 
+2

你能解釋一下這段代碼的工作原理嗎? – 2014-03-08 19:21:00