Matlab 出图的一些总结

2021-12-06 11:19:28 浏览数 (1)

matlab出图实际直接help 相关command就能看到官方文档了,一般还有示例,这个文档的主要目的是总结下matlab有哪些比较方便的作图命令,以及科研出图时可能用到的一些技巧

基础的作图要素

图题

代码语言:txt复制
title('My Title')// 输入代码内容

图题可以修改相应字体,颜色等,详见help

图例

  • 如下代码体现了图例的使用方式,可以修改图例位置,以及去掉图例的边框背景
代码语言:txt复制
legend({'cos(x)','cos(2x)'},'Location','southwest')
legend('boxoff')

布局

  • 多图的布局除了subplot还有如下方式tiledlayout命令,同时可以修改北京以及间隙,详见help文件
代码语言:txt复制
tiledlayout(m,n)
tiledlayout('flow')
tiledlayout(___,Name,Value)
tiledlayout(parent,___)
t = tiledlayout(___)

坐标

  • 方向设置
代码语言:txt复制
set(gca,'YDir','normal');        //将y轴方向设置为普通(从下到上递增)。
set(gca,'YDir','reverse');        //将x轴方向设置为反向(从上到下递增)。
set(gca,'ZDir','reverse');        //将z轴方向设置为反向(从上到下递增)。
  • 字体设置
代码语言:txt复制
set(gca,'linewidth',1,'fontsize',18,'fontname','Times'); //坐标轴字体及大小

曲面或网格图

普通曲面图

  • 普通图通过如下命令即可
代码语言:txt复制
handle = fill3(X,Y,Z,C)
handle = surf(X,Y,Z,C)  //X Y Z 为坐标向量, C为颜色
surfnorm(X,Y,Z) //带法向量的曲面
surfnorm(Z)
  • 多个图例可以用循环加上num2str实现

加入color bar

代码语言:txt复制
c=colorbar;
c.Label.String='Cp';

网格或修改网格颜色

当要修改网格线的颜色时,surf 命令提供了更多选项,以下是相关选项的关键字

代码语言:txt复制
handle.EdgeColor = 'none'; // 隐藏边,也可改为其它颜色
handle.FaceColor =  'none'; //填充颜色
handle.LineStyle = '-'; //线型
handle.FaceAlpha = 0.5; //透明度

一个包含了上述用法的示例:

Fig 1.旋转叶片尾涡与气动力Fig 1.旋转叶片尾涡与气动力

关于动画生成的方式

动画的生成matlab help(matlab command 输入 help movie可以查看)文件中已经给出示例,但自己作图时,总出现保存的动画部分帧位置不对或部分区域空白的情况,通过反复尝试后发现是movie对保存图片的大小限制造成,因此可能需要plot循环语句中加入下述语句对每次plot的图片进行限制:

代码语言:javascript复制
figure(201);clf; %指定图号,即使在并行画图时保证画在同一图上
view(-72,17); %锁定视角,具体值的确定可以先plot一次调整视角,记录下图窗中显示的该值
set_axis(); %锁定坐标范围,保证每幅图的一致      
Fmat(j) = getframe(gcf, [0 0 560, 420]); %给定图片大小

0 人点赞