当前位置: 首页 > article >正文

MATLAB中exportgraphics函数用法

目录

语法

说明

示例

将坐标区导出为图像文件

指定图像分辨率

导出图窗

导出为仅包含向量图的 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:41
    p.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]);
        end
    end
end

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

saveapp

如图所示:


http://www.kler.cn/a/419324.html

相关文章:

  • Java 自动资源管理(Auto Resource Management)详解
  • 内网穿透步骤
  • jdk各个版本介绍
  • 挑战用React封装100个组件【007】
  • 常用端口与Udp协议
  • 在CentOS7上更换为阿里云源
  • 【数据库设计】如何根据UI界面设计数据库结构
  • 马铃薯病害识别(VGG-16复现)
  • 【openssl】相关指令
  • day01(Linux底层)基础知识
  • PHP和GD库如何调整图片尺寸
  • unity跳转到应用商店并评分
  • 【linux】(24)SSH
  • 电脑还原重置Windows系统不同操作模式
  • 数据结构:Map和Set(Java)
  • 32 从前序与中序遍历序列构造二叉树
  • 实现实时CPS安全的动态目标防御
  • 网络安全——浅谈HTTP协议
  • Redis2——协议与异步方式
  • unity如何让一个物体拥有按钮功能
  • STL算法之基本算法<stl_algobase.h>
  • 企业网站面临的爬虫攻击及安全防护策略
  • 基于群晖搭建个人图书架-TaleBook based on Docker
  • 基于Matlab的变压器仿真模型的建模方法(7):单相三绕组变压器的空载合闸和负载运行瞬态分析
  • 用Java爬虫“搜刮”工厂数据:一场数据的寻宝之旅
  • springboot/ssm研究生志愿填报辅助系统Java院校招生问卷调查系统web源码