MATLAB中exportgraphics函数用法

news/2024/12/2 18:25:09/

目录

语法

说明

示例

将坐标区导出为图像文件

指定图像分辨率

导出图窗

导出为仅包含向量图的 PDF

导出多页 PDF

导出动画 GIF

导出分块图布局

将热图导出为具有透明背景的 PDF

创建用于保存绘图的 App


        exportgraphics函数的功能是将绘图或图形内容保存到文件。

语法

exportgraphics(obj,filename)
exportgraphics(obj,filename,Name,Value)

说明

        exportgraphics(obj,filename) 将 obj 指定的图形对象的内容保存到文件中。图形对象可以是任何类型的坐标区、图窗、独立可视化、分块图布局或图窗内的容器。生成的图形经过紧密裁剪,内容周围只留很窄的边距。

        exportgraphics(obj,filename,Name,Value) 指定保存文件的其他选项。例如,exportgraphics(gca,"myplot.jpg","Resolution",300) 将当前坐标区的内容保存为 300-DPI 图像文件。

示例

将坐标区导出为图像文件

        创建一个线图并获取当前坐标区。然后将坐标区的内容保存为 JPEG 文件。

plot(rand(5,5))
ax = gca;
exportgraphics(ax,'LinePlot.jpg')

如图所示:

指定图像分辨率

        显示一个图像并获取当前坐标区。然后将坐标区的内容保存为 300-DPI JPEG 文件。

I = imread('peppers.png');
imshow(I)
ax = gca;
exportgraphics(ax,'Peppers300.jpg','Resolution',300)

如图所示:

导出图窗

        显示一个具有超出坐标区边界的注释的绘图。将图窗的内容保存为 PDF 文件。

plot(1:10)
annotation('textarrow',[0.06 0.5],[0.73 0.5],'String','y = x ')
f = gcf;
exportgraphics(f,'AnnotatedPlot.pdf')

如图所示:

导出为仅包含向量图的 PDF

        显示一个条形图并获取当前坐标区。然后将坐标区的内容保存为仅包含向量图的 PDF。

bar([10 22 31 43])
ax = gca;
exportgraphics(ax,'BarChart.pdf','ContentType','vector')

如图所示:

导出多页 PDF

        要创建多页 PDF,请将 'Append' 名称-值参数设置为 true。例如,创建一个线图并将坐标区的内容保存到文件 myplots.pdf 中。

plot([0 0.3 0.1 0.6 0.4 1])
ax = gca;
exportgraphics(ax,'myplots.pdf')

如图所示:

        接下来,创建一个条形图,并将坐标区的内容保存为 myplots.pdf 中的第二页。

bar(1:10)
exportgraphics(ax,'myplots.pdf','Append',true)

如图所示:

导出动画 GIF

        绘制一条带一个标记的抛物线。在for循环的每次迭代中更改该标记的位置,并将这些更改捕获为动画 GIF 中的帧。

x = -10:0.5:10;
y = x.^2;
p = plot(x,y,"-o","MarkerFaceColor","red");
for i=1:41p.MarkerIndices = i;exportgraphics(gca,"parabola.gif","Append",true)
end

如图所示:

导出分块图布局

        在分块图布局中显示两个绘图。然后通过将 TiledChartLayout 对象传递给 exportgraphics 函数,将这两个图保存为一个 PDF。

t = tiledlayout(2,1);
nexttile
plot([1 2 3])
nexttile
plot([3 2 1])
exportgraphics(t,'Layout.pdf')

如图所示:

        如果只想保存布局中的一个图,请在调用 nexttile 函数时包含坐标区返回参数。然后将坐标区传递给 exportgraphics 函数。

将热图导出为具有透明背景的 PDF

        显示一个热图。然后将该图保存为只包含具有透明背景的向量图的 PDF。

h = heatmap(rand(10,10));
exportgraphics(h,'Hmap.pdf','BackgroundColor','none','ContentType','vector')

如图所示:

创建用于保存绘图的 App

        创建一个名为 saveapp.m 的程序文件,它显示一个绘图和一个用于保存坐标区内容的按钮。在该按钮的回调函数中,调用 uiputfile 函数来提示用户输入文件名和位置。然后调用 exportgraphics 函数并在其中包含指定文件的完整路径。

function saveapp
f = uifigure;
ax = uiaxes(f,'Position',[25 25 400 375]);
plot(ax,[0 0.3 0.1 0.6 0.4 1])
b = uibutton(f,'Position',[435 200 90 30],'Text','Save Plot');
b.ButtonPushedFcn = @buttoncallback;function buttoncallback(~,~)filter = {'*.jpg';'*.png';'*.tif';'*.pdf';'*.eps'};[filename,filepath] = uiputfile(filter);if ischar(filename)exportgraphics(ax,[filepath filename]);endend
end

        通过调用 saveapp 函数来运行该 App。当您点击 App 中的 Save Plot 按钮时,会出现一个对话框,提示您输入文件名和位置。然后,坐标区的内容将保存到指定的文件中。坐标区周围的区域(包括按钮)不包括在该文件中。

saveapp

如图所示:


http://www.ppmy.cn/news/1551812.html

相关文章

网络设备配置指南:交换机、路由器与防火墙的基础配置与管理

在现代网络管理中,交换机、路由器和防火墙是不可或缺的关键设备。掌握这些设备的基本配置与管理,对于确保网络的稳定性、安全性和高效性至关重要。本文将详细介绍交换机、路由器和防火墙的基础配置与管理,并通过代码示例和图示来帮助读者更好地理解和应用。 一、交换机的基…

【新能源汽车电驱动系统测试设备】核心厂商主要包括Team Technik、AVL List、清研凌创、Horiba和ThyssenKrupp等

摘要 根据 HengCe(恒策咨询)的统计及预测,2023年全球新能源汽车电驱动系统测试设备市场销售额达到了3.8亿美元,预计2030年将达到6.6亿美元,年复合增长率(CAGR)为7.5%(2024-2030&…

net9 abp vnext 多语言通过数据库动态管理

通过数据库加载实现动态管理,用户可以自己修改界面显示的文本,满足国际化需求 如图所示,前端使用tdesign vnext 新建表TSYS_Localization与TSYS_LocalizationDetail 国旗图标下载网址flag-icons: Free Country Flags in SVG 在Shared下创建下图3个文件 …

Network Link Conditioner Mac 上模拟网络环境工具的安装和使用

前言 Xcode 的模拟器本身是不支持模拟网络环境的,在开发界面的时候,设计会出无网、弱网这种情况的设计图,为了方便在开发过程中实现这些情况的代码逻辑,Network Link Conditioner 就是模拟网络环境的好帮手。 安装 Network Lin…

C语言——指针基础

1 指针基础 怎么获得变量地址 1 如何产生一个指针变量——>类型* 标识符;int* p1;char* p2;double* p3;//不同类型的基本指针占用内存是一样的都是4个字节(32位)/8个字节(64位),都是存的地址2 数组名是数组首地址…

git使用记录与总结

目录 前言 一、git是什么? 二、使用记录 1.git安装 2.git clone 3.-lfs初始化 4.git add 5.git commit 6.git push 相关问题与解决 总结 前言 随着Github、hugging face等平台各种开源代码、模型的广泛使用,个人可以使用git方便的下载代码与…

群控系统服务端开发模式-应用开发-前端邮箱短信通道开发

一、添加视图 在根目录下src文件夹下views文件夹下param文件夹下emailsms文件夹下&#xff0c;新建index.vue&#xff0c;代码如下 <template><el-tabs type"border-card"><el-tab-pane v-if"$store.getters.butts.includes(ParamEmailsmsIndex…

Linux常用操作之vim快捷操作

文章目录 前言一、vim三种工作模式二、命令行模式操作三、编辑模式操作四、末行模式操作五、vim快速注释多行操作六、vim快速取消多行注释操作 前言 在使用Linux操作系统时,经常会使用vi/vim编辑文件,会涉及到文件内容的删除、注释、增加等&#xff0c;如果改动的地方较多,那么…