使用特定大小、分辨率或背景色保存图窗

目录

指定分辨率

指定大小

指定背景色

保留坐标轴范围和刻度值


        从 R2020a 开始提供。替换以特定大小和分辨率保存图窗 (R2019b) 和保存图窗时保留背景色 (R2019b)。

        要保存绘图以包含在文档(例如出版物或幻灯片演示文稿)中,请使用 exportgraphics 函数。此函数能够以适合您文档的大小、分辨率和背景色保存绘图。保存的内容会围绕坐标区精确裁剪,尽可能减少留白。所有 UI 组件和相邻的容器(例如面板)都不会包括在保存的内容中。

指定分辨率

        ​要以特定的分辨率将图窗另存为图像,请调用 exportgraphics 函数,并指定 'Resolution' 名称-值对组参数。默认情况下,图像以每英寸 150 点 (DPI) 的分辨率保存。​

        例如,创建一个条形图并获取当前图窗。然后将图窗另存为 300-DPI PNG 文件。

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

或者,也可以指定坐标区而不是图窗作为 exportgraphics 函数的第一个参数。

ax = gca;
exportgraphics(ax,'barchartaxes.png','Resolution',300)

指定大小

        exportgraphics 函数会以您屏幕上显示的相同宽度和高度捕获内容。如果想要更改宽度和高度,请调整图窗中所显示内容的大小。一种方法是使用分块图布局方式以所需大小(没有任何填充)创建绘图。然后将该布局传递给 exportgraphics 函数。

        例如,要将一个条形图另存为 3×3 英寸的方形图像,请先创建一个 1×1 的分块图布局 t,然后将 'Padding' 名称-值对组参数设置为 'tight'。

t = tiledlayout(1,1,'Padding','tight');

        在 R2021a 之前,需要将 'Padding' 设置为 'none'。

        将 t 的 Units 属性设置为 inches。然后将 t 的 OuterPosition 属性设置为 [0.25 0.25 3 3]。向量中的前两个数字将布局定位在距离图窗左侧和底部边缘 0.25 英寸的位置。后两个数字将布局的宽度和高度设置为 3 英寸

t.Units = 'inches';
t.OuterPosition = [0.25 0.25 3 3];

        下一步,通过调用 nexttile 函数创建一个坐标区对象。然后在坐标区中创建一个条形图。

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

        通过将 t 传递给 exportgraphics 函数,将布局另存为一个 300-DPI 的 JPEG 文件。生成的图像是一个约 3 英寸的方形。

exportgraphics(t,'bar3x3.jpg','Resolution',300)

      另一种更改大小的方法是将内容另存为向量图形文件。然后,可以在文档中调整内容大小。要将内容另存为向量图形文件,请调用 exportgraphics 函数,并将 'ContentType' 名称-值对组参数设置为 'vector'。例如,创建一个条形图,然后将图窗另存为一个包含向量图形的 PDF 文件。所有可嵌入字体均包含在 PDF 中。

bar([1 11 7 8 2 2 9 3 6])
f = gcf;
exportgraphics(f,'barscalable.pdf','ContentType','vector')

指定背景色

        默认情况下,exportgraphics 函数使用白色背景保存内容。可以通过设置 BackgroundColor 名称-值对组参数来指定其他背景。以下是可能的值:

  • 'current' - 使用坐标区父容器(例如图窗或面板)的颜色。

  • 'none' - 将背景色设为透明或白色,具体取决于文件格式和 ContentType 的值:

    • 透明 - 适用于 ContentType='vector' 的文件

    • 白色 - 适用于图像文件,或当 ContentType='image' 时

  • 自定义颜色,指定为 RGB 三元组(如 [1 0 0])、十六进制颜色代码(如 #FF0000)或指定颜色(例如 'red')。

        例如,创建一个条形图,使用透明背景将图窗另存为一个 PDF 文件。

bar([1 11 7 8 2 2 9 3 6])
f = gcf;
exportgraphics(f,'bartransparent.pdf','ContentType','vector',...
               'BackgroundColor','none')

保留坐标轴范围和刻度值

        有时,exportgraphics 函数使用不同的坐标轴范围或刻度值来保存您的内容,具体取决于字体大小和文件的分辨率。要防止更改坐标轴范围和刻度值,请将坐标区的刻度值模式和范围模式属性设置为 'manual'。例如,在笛卡尔坐标区内绘图时,设置 x 轴、y 轴和 z 轴的刻度值和范围模式属性。

bar([1 10 7 8 2 2 9 3 6])
ax = gca; 
ax.XTickMode = 'manual';
ax.YTickMode = 'manual';
ax.ZTickMode = 'manual';
ax.XLimMode = 'manual';
ax.YLimMode = 'manual';
ax.ZLimMode = 'manual';
exportgraphics(ax,'barticks.png')

        对于极坐标图,将极坐标区的 RTickMode、ThetaTickMode、RLimMode 和 ThetaLimMode 属性设置为 'manual'。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值