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

本文介绍了MATLAB中如何通过交互式工具栏导出绘图为PNG、JPEG、TIFF或PDF,以及编程方式使用exportgraphics函数实现精确裁剪。此外,讨论了保存为图像与向量图形的区别,以及如何在LaTeX等其他应用中嵌入和打开这些图形。
摘要由CSDN通过智能技术生成

目录

以交互方式保存绘图

以编程方式保存绘图

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


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

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

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

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

以交互方式保存绘图

        要使用交互式控件保存绘图,请使用坐标区工具栏中的导出按钮 

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

        例如,创建一个条形图。通过将鼠标悬停在坐标区工具栏中的导出按钮 

 上,然后在下拉列表中选择第一项,将图保存到文件中

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

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

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

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

以编程方式保存绘图

注意:以下示例使用了 exportgraphics 函数,该函数从 R2020a 开始提供。

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

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

bar([1 11 7 8 2 2 9 3 6])
f = gcf;

% Requires R2020a or later
exportgraphics(f,'barchart.png','Resolution',300)

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

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

% Requires R2020a or later
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])

% Requires R2020a or later
exportgraphics(t,'twoplots.eps')

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

        可以在其他应用程序(例如 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}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值