不管是写论文,还是做方案,总需要数据图形作为支撑。今天,简单分享几个Matlab二维画图常用的命令,让你也可以画出漂亮的图形。
单坐标轴曲线绘制
绘图一般分为三步:数据准备、画图命令、增加修饰。
1.数据准备
一般可以直接在Matlab工作空间建立数据,或者通过命令导入数据,如用xlsread()可导入excel文件中的数据。
我们直接在Matlab定义向量X1,Y1,Y2:;
X1=[0:0.01:10]; Y1=sin(X1); Y2=0.1.*X1;
2、命令画图
用plot(x,y)可绘制以x为横坐标,y为纵坐标的数据。
利用以上数据,执行以下命令:
plot(X1,Y1,'r','Linewidth',2); hold; plot(X1,Y2,'k','Linewidth',2);
可画出初步的数据图形,如下图。
3、增加坐标轴、标题、说明等修饰。
通过各种修饰命令让图形更加清晰,一目了然。
继续执行以下命令:
grid ;%%显示网格 AXis([0 10 -1.5 1.5]); %%设置坐标轴范围 set(gca, 'LineWidth',2); %%设置坐标轴线宽 xlabel('时间/s'); %%设置横坐标 ylabel('幅值/m'); %%设置纵坐标 legend('曲线1', '曲线2'); %%设置线条说明 title('XX标题'); %%设置标题
得到如下图形,看起来还可以。
以上3个步骤之后,基本可以得到满意的图形了。
当同一个图中曲线较多时,可以通过颜色、线性、标记等做区分,常用的曲线设置如下图。
常用的图形标注命令如下图。
双坐标轴曲线绘制
当两个曲线范围相差较大时,如果用单坐标轴显示效果会很差,这个时候可以考虑使用双坐标轴显示。
主要命令是[AX,H1,H2]=plotyy(X1,Y1,X2,Y2),返回AX、H1、H2。AX是两个坐标轴的句柄,AX(1)代表左侧轴, AX(2)代表右侧轴;H1和H2中两条曲线的句柄。
句柄可理解为一个对象的ID,通过对某个ID的施加命令,以达到操作某个对象的目的,Matlab很多函数需要借助句柄进行操作。
执行以下命令:
X1=[0:0.01:10]; %%数据准备 Y1=sin(X1); Y2=X1; [AX,H1,H2]=plotyy(X1,Y1,X1,Y2); %%绘图 grid; %%显示网格 set(AX(1),'ylim',[-1.5,1.5]); %%设置左侧纵坐标范围 set(AX(2),'ylim',[-5,15]); %%设置右侧纵坐标范围 xlabel('X Axis'); %%设置横坐标 ylabel(AX(1),'Y1 Axis'); %%设置左侧纵坐标 ylabel(AX(2),'Y2 Axis'); %%设置右侧纵坐标 set(H1,'color','b'); %%设置曲线1的颜色 set(H2,'color','r'); %%设置曲线2的颜色 set(H1,'linewidth',2); %%设置曲线1的线宽 set(H2,'linewidth',2); %%设置曲线2的线宽 set(gca, 'LineWidth',2) %%设置坐标轴线宽 legend('Y1','Y2'); %%设置线条说明 title('Y1&Y2'); %%设置标题
可得到双坐标曲线如下图。
当曲线数量大于2条时,一般采用数据缩放的形式显示,也可以采用下面将介绍的子图方式显示。
子图绘制
当图形数量较多时,为了对比更加直观,同时节省绘图空间,可以在同一个绘图窗口下绘制多幅子图,这时可以使用subplot函数。
subplot函数的一般语法形式为:
h = subplot(m, n, p)
即可在当前绘图区中创建m×n个绘图子区,并将第p个绘图子区选定为当前绘图区。
subplot仅创建子图坐标平面,在该坐标平面内绘制子图,仍然需要使用plot 函数或其他绘图函数。
运行以下命令:
X1=[0:0.01:10]; %%数据定义 Y1=sin(X1); Y2=0.1.*X1; Y3=cos(X1); Y4=X1.^2; subplot(2,2,1); plot(X1,Y1,'r','Linewidth',2); grid; xlabel('时间/s'); ylabel('幅值/m'); title('标题1'); subplot(2,2,2); %%子图2绘制 plot(X1,Y2,'k','Linewidth',2); grid; xlabel('时间/s'); ylabel('幅值/m'); title('标题2'); subplot(2,2,3); %%子图3绘制 plot(X1,Y3,'m','Linewidth',2); grid; xlabel('时间/s'); ylabel('幅值/m'); title('标题3'); subplot(2,2,4); %%子图4绘制 plot(X1,Y4,'g','Linewidth',2); grid; xlabel('时间/s'); ylabel('幅值/m'); title('标题4');
可得到结果如下图:
手动调整
对于一些不常用的设置类型或者不习惯用代码画图,可以自行在Figure界面中的Insert、Tools菜单栏中进行相应的操作来修改图形属性或注释等等。
Insert下拉菜单栏如下图,包含了上面提到的坐标轴、标题等设置。
Tool下拉菜单栏如下图,包含了缩放、视角等操作。
在File菜单下点击Export Setup,会弹出输出设置界面,在里面可以设置图形大小、颜色、分辨率等等,最后可以选择Export输出Png、Tiff等图片类型。当然可以保存常用的图片输出类型设置,下次使用时点击Load和Apply toFigure即可快速设置已保存的输出类型。
以上,简要介绍了Matlab中二维画图的基本操作,更多内容可查阅Matlab官方帮助文档了解。