Matlab绘制双y轴曲线

2025-10-22 04:34:17

1、首先来一列数据,如果是单独写在两个图形上,可以这样:

x = 0:0.01:20;y1 = 200*exp(-0.05*x).*sin(x);y2 = 0.8*exp(-0.5*x).*sin(10*x);

subplot(1,2,1);

plot(x,y1);

subplot(1,2,2);

plot(x,y2);

Matlab绘制双y轴曲线

2、如果要写在一个图形上,使用双坐标:

x = 0:0.01:20;y1 = 200*exp(-0.05*x).*sin(x);y2 = 0.8*exp(-0.5*x).*sin(10*x);figure;plotyy(x,y1,x,y2);

这比画在一个图形上要方便多了。

Matlab绘制双y轴曲线

3、可以通过如下方式对不同的曲线进行赋值:

figure;

[hAx,hLine1,hLine2] = plotyy(x,y1,x,y2);

title('Multiple Decay Rates');

xlabel('Time (\musec)');

ylabel(hAx(1),'Slow Decay') ;

ylabel(hAx(2),'Fast Decay');

hAx(1)和hAx(2)分别代表了第一个图形和第二个图形。

Matlab绘制双y轴曲线

4、还可以使用不同的线型画不同的线:

[hAx,hLine1,hLine2] = plotyy(x,y1,x,y2);

hLine1.LineStyle = '--';

hLine2.LineStyle = ':';

可以看看第一条线和第二条线的区别。

Matlab绘制双y轴曲线

5、当然两条线也可以用不同的方式进行绘制:

x = 0:0.1:10;

y1 = 200*exp(-0.05*x).*sin(x);

y2 = 0.8*exp(-0.5*x).*sin(10*x);

figure;

plotyy(x,y1,x,y2,'plot','stem')

第一条线是最普通的plot,第二条线是棒状图stem。

Matlab绘制双y轴曲线

6、当然,目前的matlab还支持使用yyaxis命令:

x = linspace(15,30);

y = sin(3*x);

yyaxis left;

plot(x,y);

z = sin(3*x).*exp(0.5*x);

yyaxis right;

plot(x,z);

ylim([-150 150]);

使用该命令也可以达到plotyy的效果。最近的matlab有使用yyaxis取代plotyy的趋势。

Matlab绘制双y轴曲线

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢