2012-07-05 1454 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