1、print 最常用
可作为日常绘图的首选。对格式,分辨率等各项指标做非常细致的定义,适合直接出图。

2、saveas,偶尔用
虽然说保存的图像都是默认大小,无法更改,但关键是可以保存fig图像
saveas可以保存matlab自认的fig格式的图像,也就是说,对于将来有可能需要细致修改以方便发表论文的图像,保存为fig更适合。毕竟,有时候各期刊杂志对图像命名及色彩等要求不一,甚至我们绘图有时也会有这样那样的疏忽,而有的图像也不是一下就可以做出来的,保存fig图像用来最后细修很有意义。

3、imwrite :不常用。
与getframe 结合使用,适合于保存截图,当机器运行速度变慢时,批量成图可能会有错误。他的优点在于可以为下一步做movie或gif动图做准备

批量制图时常用命令:
mkdir,生成目录
filename = ['image\figure', sprintf('%02d',nn)]

  • 使用saveas函数,保存为“pdf”、“svg”格式。 
clc
clear
close all
 
 
%%  准备数据
%  自变量
x = -2*pi-0.01 : 0.01 : 2*pi+0.01;
%  两个因变量
y1  = sin(x) .* cos(x) .* x.^2;
y2 = sin(x) .* cos(x) .* x.^3;
 
 
 
 
%%  可视化
%  创建窗口
h_fig = figure('Name', '我是矢量图');
%  创建坐标系
h_ax = axes('Parent', h_fig, ...
    'NextPlot', 'add', ...
    'Box', 'on');
%  使窗口的背景色和坐标系的背景色一样(都是白的)
h_fig.Color = h_ax.Color;
 
 
%  绘制曲线
plot(x, y1, 'LineWidth', 1.5, 'Color', 'r');
plot(x, y2, 'LineWidth', 2.0, 'Color', 'b');
 
 
%  加图例
legend({'y1', 'y2'})
 
 
%%  保存成矢量图(SVG、pdf)
%  文章的插图用SVG就好,可以插入到 word和ppt中,可以拿浏览器打开
saveas(h_fig, h_fig.Name, 'svg')
%  也可以保存成pdf
  • 使用print函数保存为“pdf”格式。

开始工作:绘图举例

%Matlab内快速绘图fplot(@(x) sin(2*pi*x));
% 给图形添加基本注释信息
title('sin(2*pi*x)');
xlabel('x');
ylabel('y');

第一步:设置图片的尺度单位

set(gcf,'Units','Inches');

第二步:通过gcf句柄获取当前图片的位置信息,位置信息由4维的向量描述,即pos=(图片距离屏幕左侧距离,图片距离屏幕底部距离,图片宽度图片高度),后面的2个信息是我们真正想要获取的

pos = get(gcf,'Position');

第三步:设置导出的pdf图像的尺度单位及尺寸大小

set(gcf,'PaperPositionMode','Auto','PaperUnits','Inches','PaperSize',[pos(3), pos(4)]);

第四步:导出与原始图像大小相同的pdf格式图片(可以在latex中直接引用)

print(gcf,‘filename’,'-dpdf','-r0');%导出pdf矢量图
  • 使用exportgraphics函数
bar([10 22 31 43])
ax = gca;
exportgraphics(ax,'BarChart.pdf','ContentType','vector')

exportgraphics(obj,filename)

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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐