MATLAB的plot的坐标轴同步: linkaxes

今天发现了一个很实用但是很少被大家使用的命令:linkaxes

我们通常会遇到这样的情况,有两个多个曲线绘制在不同的plot中,当对一个曲线放大时,另一个曲线并不会放大,特别是想观察相同x轴坐标,y轴的数据,此时需要手动调整很久,最后往往的得不到很好的效果,费时费力。

在MATLAB的help中,linkaxes的说明如下。

MATLAB的plot的坐标轴同步: linkaxes

也就说可以同步指定2D绘图的坐标轴。

举一个栗子 

figure

ax1 = subplot(2,2,1);

x1 = linspace(0,6);

y1 = sin(x1);

plot(x1,y1)



ax2 = subplot(2,2,2);

x2 = linspace(0,10);

y2 = sin(2*x2);

plot(x2,y2)



ax3 = subplot(2,2,[3,4]);

x3 = linspace(0,16);

y3 = sin(6*x3);

plot(x3,y3)

MATLAB的plot的坐标轴同步: linkaxes

绘制出来的图的x轴并不是对齐的,执行下面的命令

linkaxes([ax1,ax2,ax3],'xy')

此时,x、y轴都同步对齐了,是不是很方便很实用,如下图所示。

MATLAB的plot的坐标轴同步: linkaxes

 

如果你仅想对齐x轴或y轴,也是可以的,linkaxes使用方法如下。

MATLAB的plot的坐标轴同步: linkaxes

option的配置如下。

MATLAB的plot的坐标轴同步: linkaxes

当option配置为x或y时,可以仅同步x轴或y轴。

如 linkaxes([ax1,ax2],'x');只会同步x轴。