7

我有大量文件需要制作直方图,因此我想从命令行保存它。对于绘图,我通常使用以下命令将其保存在 matlab 中:

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

我想对直方图做同样的事情:

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

但是,我收到一个错误,提示句柄不正确。我也试过imwrite函数,代码执行但保存一个空白的黑色图像。有没有办法可以保存我的直方图?

4

3 回答 3

13

当您将hist与输出参数一起使用时,它会返回每个 bin 的计数,而不是像您习惯的其他类型的绘图那样的句柄对象。

相反,抓住一个图形的句柄,使用hist不带输出参数的图形绘制图形,然后保存图形。

fh = figure;
hist(x);
saveas(fh, output, 'jpg')
close(fh)
于 2012-07-05T20:34:06.390 回答
1

export_fig来自MATLAB 文件交换的文件会自动为您处理此问题,并且还具有其他不错的功能。有关如何使用它的示例,请参见我的另一个答案

于 2012-07-06T15:19:21.553 回答
0
fh = figure;
imhist(x);
saveas(fh, 'output', 'jpg');
于 2014-03-08T19:04:40.910 回答