Matlab画图,只需要这几步

不管是写论文,还是做方案,总需要数据图形作为支撑。今天,简单分享几个Matlab二维画图常用的命令,让你也可以画出漂亮的图形。


单坐标轴曲线绘制

绘图一般分为三步:数据准备、画图命令、增加修饰。


1.数据准备


一般可以直接在Matlab工作空间建立数据,或者通过命令导入数据,如用xlsread()可导入excel文件中的数据。


我们直接在Matlab定义向量X1,Y1,Y2:;

<code>X1=[0:0.01:10];
Y1=sin(X1);
Y2=0.1.*X1;/<code>


2、命令画图


用plot(x,y)可绘制以x为横坐标,y为纵坐标的数据。


利用以上数据,执行以下命令:

<code>plot(X1,Y1,'r','Linewidth',2);
hold;
plot(X1,Y2,'k','Linewidth',2);/<code>


可画出初步的数据图形,如下图。

Matlab画图,只需要这几步


3、增加坐标轴、标题、说明等修饰。


通过各种修饰命令让图形更加清晰,一目了然。


继续执行以下命令:

<code>grid ;%%显示网格
axis([0 10 -1.5 1.5]); %%设置坐标轴范围
set(gca, 'LineWidth',2); %%设置坐标轴线宽
xlabel('时间/s'); %%设置横坐标
ylabel('幅值/m'); %%设置纵坐标
legend('曲线1', '曲线2'); %%设置线条说明
title('XX标题'); %%设置标题/<code>


得到如下图形,看起来还可以。

Matlab画图,只需要这几步

以上3个步骤之后,基本可以得到满意的图形了。


当同一个图中曲线较多时,可以通过颜色、线性、标记等做区分,常用的曲线设置如下图。

Matlab画图,只需要这几步


常用的图形标注命令如下图。

Matlab画图,只需要这几步


双坐标轴曲线绘制

当两个曲线范围相差较大时,如果用单坐标轴显示效果会很差,这个时候可以考虑使用双坐标轴显示。


主要命令是[AX,H1,H2]=plotyy(X1,Y1,X2,Y2),返回AX、H1、H2。AX是两个坐标轴的句柄,AX(1)代表左侧轴, AX(2)代表右侧轴;H1和H2中两条曲线的句柄。

句柄可理解为一个对象的ID,通过对某个ID的施加命令,以达到操作某个对象的目的,Matlab很多函数需要借助句柄进行操作。


执行以下命令:

<code>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'); %%设置标题/<code>


可得到双坐标曲线如下图。

Matlab画图,只需要这几步

当曲线数量大于2条时,一般采用数据缩放的形式显示,也可以采用下面将介绍的子图方式显示。


子图绘制

当图形数量较多时,为了对比更加直观,同时节省绘图空间,可以在同一个绘图窗口下绘制多幅子图,这时可以使用subplot函数。


subplot函数的一般语法形式为:

h = subplot(m, n, p)

即可在当前绘图区中创建m×n个绘图子区,并将第p个绘图子区选定为当前绘图区。

subplot仅创建子图坐标平面,在该坐标平面内绘制子图,仍然需要使用plot 函数或其他绘图函数。


运行以下命令:

<code>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');/<code> 

可得到结果如下图:

Matlab画图,只需要这几步

手动调整

对于一些不常用的设置类型或者不习惯用代码画图,可以自行在Figure界面中的Insert、Tools菜单栏中进行相应的操作来修改图形属性或注释等等。


Insert下拉菜单栏如下图,包含了上面提到的坐标轴、标题等设置。

Matlab画图,只需要这几步


Tool下拉菜单栏如下图,包含了缩放、视角等操作。

Matlab画图,只需要这几步


在File菜单下点击Export Setup,会弹出输出设置界面,在里面可以设置图形大小、颜色、分辨率等等,最后可以选择Export输出Png、Tiff等图片类型。当然可以保存常用的图片输出类型设置,下次使用时点击Load和Apply toFigure即可快速设置已保存的输出类型。

Matlab画图,只需要这几步


以上,简要介绍了Matlab中二维画图的基本操作,更多内容可查阅Matlab官方帮助文档了解。


分享到:


相關文章: