如何从命令行在MATLAB中保存graphics?

在MATLAB中有一个命令可以自动保存graphics或JPEG或两种格式的graphics吗?

使用saveas :

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

这样,graphics被绘制出来,并自动保存为“.jpg”和“.fig”。 您不需要等待剧情出现,并点击菜单中的“另存为”。 如果你需要绘制/保存大量的数字的路要走。

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

 h=figure('visible','off') 

当使用saveasfunction时,分辨率不如使用File – > Save As …保存图时的分辨率,build议使用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

我不认为你可以保存它没有出现,但只是保存在多种格式使用打印命令。 查看这里发布的答案: 在Matlab中保存一个imagesc输出

如果你想把它保存为.fig文件,hgsave是Matlab R2012a中的函数。 在更高版本中,savefig也可能工作。

imwrite(A,filename)将图像数据A写入文件名指定的文件,从扩展名推断文件格式

现在(2017年5月),MATLAB仍然需要一个强大的方法来导出数据,特别是在GNU / Linux系统以批量模式导出数据时。 最好的select是使用扩展名export_fig

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

 plot(cos(linspace(0, 7, 1000))); set(gcf, 'Position', [100 100 150 150]); export_fig test2.png 

试试plot(var); saveFigure( '标题'); 它将自动保存为JPEG格式