matlab出图实际直接help 相关command就能看到官方文档了,一般还有示例,这个文档的主要目的是总结下matlab有哪些比较方便的作图命令,以及科研出图时可能用到的一些技巧
基础的作图要素
图题
代码语言:txt复制title('My Title')// 输入代码内容
图题可以修改相应字体,颜色等,详见help
图例
- 如下代码体现了图例的使用方式,可以修改图例位置,以及去掉图例的边框背景
legend({'cos(x)','cos(2x)'},'Location','southwest')
legend('boxoff')
布局
- 多图的布局除了subplot还有如下方式tiledlayout命令,同时可以修改北京以及间隙,详见help文件
tiledlayout(m,n)
tiledlayout('flow')
tiledlayout(___,Name,Value)
tiledlayout(parent,___)
t = tiledlayout(___)
坐标
- 方向设置
set(gca,'YDir','normal'); //将y轴方向设置为普通(从下到上递增)。
set(gca,'YDir','reverse'); //将x轴方向设置为反向(从上到下递增)。
set(gca,'ZDir','reverse'); //将z轴方向设置为反向(从上到下递增)。
- 字体设置
set(gca,'linewidth',1,'fontsize',18,'fontname','Times'); //坐标轴字体及大小
曲面或网格图
普通曲面图
- 普通图通过如下命令即可
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; //透明度
一个包含了上述用法的示例:
关于动画生成的方式
动画的生成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]); %给定图片大小