38

MATLAB 中是否有一个命令可以自动将图形保存为FIGJPEG或两种格式?

4

7 回答 7

66

使用另存为

h=figure;
plot(x,y,'-bs','Linewidth',1.4,'Markersize',10);
% ...
saveas(h,name,'fig')
saveas(h,name,'jpg')

这样,图形被绘制出来,并自动保存为“.jpg”和“.fig”。您无需等待绘图出现并单击菜单中的“另存为”。如果您需要绘制/保存大量数字,则可以走的路。

如果你真的不想让情节出现(无论如何都必须加载,无法避免,否则也没有什么可保存的),你可以隐藏它:

h=figure('visible','off')
于 2012-08-28T13:33:42.223 回答
23

使用saveas功能时分辨率不如手动保存图形文件->另存为...,更推荐使用hgexport代替,如下:

hgexport(gcf, 'figure1.jpg', hgexport('factorystyle'), 'Format', 'jpeg');

这将与手动保存图形完全相同。

来源: http ://www.mathworks.com/support/solutions/en/data/1-1PT49C/index.html?product=SL&solution=1-1PT49C

于 2013-07-27T23:05:17.827 回答
2

我不认为你可以在它不出现的情况下保存它,但只是为了以多种格式保存,请使用print命令。请参阅此处发布的答案:Save an imagesc output in Matlab

于 2012-08-28T13:31:34.927 回答
1

如果要将其保存为 .fig 文件,hgsave 是 Matlab R2012a 中的函数。在以后的版本中, savefig 也可以工作。

于 2015-12-31T11:04:43.160 回答
0

imwrite(A,filename) writes image data A to the file specified by filename, inferring the file format from the extension

于 2016-04-12T10:09:17.900 回答
0

如今(2017 年 5 月),MATLAB 仍然存在一种强大的导出图形的方法,尤其是在 GNU/Linux 系统中以批处理模式导出图形时。最好的选择是使用扩展export_fig

只需从 Github 下载源代码并使用它:

plot(cos(linspace(0, 7, 1000)));
set(gcf, 'Position', [100 100 150 150]);
export_fig test2.png
于 2017-05-26T11:54:45.403 回答
-2

尝试情节(var);saveFigure('title'); 它会自动保存为jpeg

于 2014-01-30T20:33:30.870 回答