MATLAB 画双纵坐标
具有两个纵坐标标度的图形
在 MATLAB 中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用
plotyy 绘图函数。调用格式为:
plotyy(x1,y1,x2,y2)
其中 x1,y1 对应一条曲线,x2,y2 对应另一条曲线。横坐标的标度相同,纵坐标
有两个,左纵坐标用于 x1,y1 数据对,右纵坐标用于 x2,y2 数据对。
双 y 轴坐标可以用 plotyy(x,y1,x,y2)来实现
双 x 坐标可以用
set(gca,'xaxislocation','bottom','xticklabel',{'0','1','2','3','4'}) (假设 x 轴的标注为
1,2,3,4)
set(gca,'xaxislocation','top','xticklabel',{'0','1','2','3','4'})
进行相应的设置
实现双纵坐标画图,其中一个为对数坐标,另一个为正常坐标。而且两个坐标
的范围差别很大
举例如下:
t = 0:900; A = 1000; a = 0.005; b = 0.005;
z1 = A*exp(-a*t);
z2 = sin(b*t);
[haxes,hline1,hline2] = plotyy(t,z1,t,z2,'semilogy','plot');
matlab 作图里面如何分别设置双纵坐标的刻度?工作遇到如下问题:
需要设置双 y 轴的刻度,用到以下函数,
set(gca,'XTick',[0:5:100])
set(gca,'yTick',[0:10:350])
只是设置左边的 y 轴刻度,请问各位高手,右边 y 轴怎么设置刻度标注?
双纵坐标的标注已实现
[AX]=plotyy(x1,y1,x1,y2);
set(get(AX(1),'Ylabel'),'string','left Y-axis‘);
set(get(AX(2),'Ylabel'),'string','right y-axis');
了解 plotyy 的返回值
[AX]=plotyy(x1,y1,x1,y2);
得到两个 axes 句柄,AX(1)和 AX(2)
set(AX(1),'yTick',[0:10:350]) 设置左边 Y 轴的刻度
set(AX(2),'yTick',[0:10:350]) 设置右边 Y 轴的刻度
http://www.ilovematlab.cn/thread-42331-1-1.html
双 y 坐标实例