Matlab:如何在代码中自动保存图中的patch / fill()



快速问题:我在Matlab中使用patch()或fill()函数创建"随机"多边形。这工作得很好,它是正确绘制的。

然而,我需要至少保存几百个多边形作为图像到我的硬盘驱动器,以便以后使用它们-所以我正在寻找一种方法来直接保存图像在我的函数中,而不是使用文件菜单保存每个多边形。

有什么办法可以做到吗?

提前感谢!

您确实可以使用print功能,但我不会使用jpeg设备。JPEG是永远不是绘图的正确格式(您将在所有行附近获得许多伪影)。

如果您需要位图图像,请尝试pngtiff设备。如果您不需要位图,请使用适当的矢量图像格式:fig是本机MATLAB格式(允许您事后编辑绘图),因此如果您坚持使用MATLAB进行所有操作,这是最好的格式。对于导出到其他软件,我推荐pdf(几乎适用于任何地方),epsc(彩色EPS,适用于LaTeX或inkscape), wmf/emf (Windows Metafile,因此仅适用于Windows,但非常适合将图像包含在MS Office中)。当然,您也可以使用print文档中提到的任何其他格式。

有时候,让你的图像格式正确(尤其是PDF输出)是件很痛苦的事。只要看看你的图形的不同属性,更具体地说,PaperSize, PaperUnitsPaperPosition

最简单的方法,我想最好的解决方案,是保存为.fig文件。可以使用saveas:

h = figure;
% your plot commands here
saveas(h,'mFile.fig');
之后,您可以使用openfig函数重新加载图像:
openfig('mFile.fig');

必须加上这个答案。这个函数很有帮助。

此函数将图形或单个轴保存为一个或多个矢量和/或位图文件格式,和/或输出栅格化版本到工作空间,具有以下属性:-图形/轴再现,因为它出现在屏幕上-裁剪/填充边框(可选)-内嵌字体(只提供pdf格式)改进线条和网格线条样式-抗锯齿图形(位图格式)-以本地分辨率渲染图像(可选的位图格式)-支持透明背景(pdf, eps, png)-支持半透明的补丁对象(仅png)- RGB, CMYK或灰度输出(CMYK仅与pdf, eps, tiff)-可变图像压缩,包括无损(pdf, eps, jpg)-可选择追加到文件(pdf, tiff)-矢量格式:pdf, eps-位图格式:png, tiff, jpg, bmp,导出到工作区

最新更新