Main Content

将绘图保存为图像或向量图形文件

您可以使用坐标区工具栏中的导出按钮 ,或通过调用 exportgraphics 函数,将绘图另存为图像,或另存为向量图形文件。在决定要使用的内容类型时,应考虑要将文件放入其中的文档的质量、文件大小和格式要求。

大多数应用程序都支持图像。它们适用于表示绘画图像和复杂的曲面。但是,由于图像由像素组成,因此当您在其他具有不同分辨率的设备上打印或显示它们时,它们不一定能够很好地缩放。在某些情况下,您可能需要以足够的分辨率保存图像,以满足某些质量要求。文件的分辨率越高,大小就越大,这会使它们难以通过电子邮件共享或上传到服务器。而且很难在不引入人为处理痕迹的情况下编辑图像中的线和文本。

向量图形文件包含绘制线、曲线和多边形的说明。它们适用于表示由线、曲线和纯色区域组成的内容。这些文件包含可缩放到任意大小的高质量内容。但是,某些曲面和网格图过于复杂,无法使用向量图形来表示。某些应用程序支持对向量图形文件进行广泛的编辑,但其他应用程序仅支持调整图形大小。

无论将绘图另存为图像还是向量图形文件,在保存文件之前,都可以通过在 MATLAB® 图窗中最终确定您的内容,来获得最佳结果。

以交互方式保存绘图

要使用交互式控件保存绘图,请使用坐标区工具栏中的导出按钮 。将鼠标指针悬停在坐标区右上角时会显示该工具栏。该导出按钮支持三种图像格式(PNG、JPEG 和 TIFF)以及 PDF 文件,PDF 文件中可以包含图像或向量图形,具体取决于坐标区中的内容。

例如,创建一个条形图。通过将鼠标悬停在坐标区工具栏中的导出按钮 上,然后在下拉列表中选择第一项,将图保存到文件中。

bar([1 11 7 8 2 2 9 3 6])

Bar chart showing the export options in the axes toolbar.

MATLAB 显示包含文件类型选项的“另存为”对话框。

Save As dialog box.

当使用导出按钮保存绘图时,输出将围绕坐标区内容(包括任何图例或颜色栏)精确裁剪。输出不包括坐标区以外的内容,例如图窗中的其他坐标区。

如果图窗以分块图布局方式包含多个绘图,您可以通过将工具栏移到布局上将所有绘图保存在一起。要移动工具栏,请调用 axtoolbar 函数并将 TiledChartLayout 对象指定为输入参量。然后将鼠标悬停在工具栏中的导出按钮上。将鼠标悬停在布局的右上角时,将会显示工具栏

以编程方式保存绘图

要以编程方式保存绘图,请使用 exportgraphics 函数。保存的内容会围绕坐标区精确裁剪,尽可能减少留白。所有 UI 组件和相邻的容器(例如面板)都不会包括在保存的内容中。exportgraphics 函数支持三种图像格式(PNG、JPEG 和 TIFF)和三种同时支持向量和图像内容的格式(PDF、EPS 和 EMF)。PDF 格式支持嵌入字体。

例如,创建一个条形图并获取当前图窗。然后将该图窗另存为 PNG 文件。在本例中,指定每英寸 300 点 (DPI) 的输出分辨率。

bar([1 11 7 8 2 2 9 3 6])
f = gcf;
exportgraphics(f,'barchart.png','Resolution',300)

在 R2020a 之前: 使用 saveasprint 而不是 exportgraphics

Bar chart.

如果您指定了扩展名为 .pdf.eps.emf 的文件名,MATLAB 将根据图窗中的内容存储图像或向量图形。

您可以通过指定 'ContentType' 名称-值对组参量,来控制文件中包含图像还是向量图形。例如,将当前图窗中的内容另存为包含向量图形的 PDF。

exportgraphics(gcf,'vectorfig.pdf','ContentType','vector')

要保存图窗中的多个绘图,请创建一个分块图布局,并将 TileChartLayout 对象传递给 exportgraphics 函数。例如,创建一个 2×1 分块图布局 t。通过调用 nexttile 函数在布局中放置两个坐标区,并在坐标区内绘图。然后,使用 t 作为第一个参量调用 exportgraphics 函数,将两个绘图另存为一个 EPS 文件。

t = tiledlayout(2,1);
nexttile
plot([0 1 0 1])
nexttile
plot([1 0 1 0])
exportgraphics(t,'twoplots.eps')

Two line plots in a tiled chart layout.

在其他应用程序中打开保存的绘图

可以在其他应用程序(例如 Microsoft® Word 或 LaTeX)中打开您保存的文件。

要将绘图添加到 LaTeX 文档,请先使用 exportgraphics 函数将绘图另存为 EPS 文件。然后将 \includegraphics 元素添加到 LaTeX 文档中。例如:

\documentclass{article}
\usepackage{graphicx}
\begin{document}

\begin{figure}[h]
\centerline{\includegraphics[height=10cm]{twoplots.eps}}
\caption{Plots from MATLAB}
\end{figure}

\end{document}

另请参阅

| | |

相关主题