找了好多双轴坐标系的,感觉都不全,而且都不够详细,综合和好几个画法,稍微总结一下。
先是第一种情况,双轴里面有两条线,一个轴对应一条线的。
不多bb,直接贴代码。
x=0:0.01:10;
y1=sin(x);
y2=10*cos(x);
y3=0.5*sin(x);
[AX,H1,H2]=plotyy(x,y1,x,y2,'plot');%双轴
set(AX(1),'XColor','k','YColor','M'); %X轴和第一个Y轴的颜色
set(AX(2),'XColor','k','YColor','r'); %X轴和第二个Y轴的颜色
HH1=get(AX(1),'Ylabel');
set(HH1,'String','sin','color','M'); %第一个Y轴标签的的颜色
HH2=get(AX(2),'Ylabel');
set(HH2,'String','cos','color','r');%第二个Y轴标签的的颜色
set(AX(1),'ylim',[-1,1],'ytick',[-1,-0.5,0,0.5,1]); %定第一个Y轴的范围,ylim是坐标轴范围,ytick是将范围细化成具体的刻度。
set(AX(2),'ylim',[-10,10],'ytick',[-10,-5,0,5,10]); %定第二个Y轴的范围
set(H1(1),'LineStyle','-','linewidth',1.5,'color','M'); %y1的线型设置
set(H2,'LineStyle','-','linewidth',1.5,'color','r'); %y2的线型设置
legend([H1,H2],{'y1';'y2'});
xlabel('x');
然后是三条线,其中两条线用左轴,第三条线用右轴。
x=0:0.01:10;
y1=sin(x);
y2=10*cos(x);
y3=0.5*sin(x);
[AX,H1,H2]=plotyy(x,[y1;y3],x,y2,'plot');%双轴
set(AX(1),'XColor','k','YColor','M'); %X轴和第一个Y轴的颜色
set(AX(2),'XColor','k','YColor','r'); %X轴和第二个Y轴的颜色
HH1=get(AX(1),'Ylabel');
set(HH1,'String','sin','color','M'); %第一个Y轴标签的的颜色
HH2=get(AX(2),'Ylabel');
set(HH2,'String','cos','color','r'); %第二个Y轴标签的的颜色
set(AX(1),'ylim',[-1,1],'ytick',[-1,-0.5,0,0.5,1]); %定第一个Y轴的范围
set(AX(2),'ylim',[-10,10],'ytick',[-10,-5,0,5,10]); %定第二个Y轴的范围
set(H1(1),'LineStyle','-','linewidth',1.5,'color','M'); %y1的线型设置
set(H1(2),'LineStyle','--','linewidth',1.5,'color','g');%y3的线型设置
set(H2,'LineStyle','-','linewidth',1.5,'color','r'); %y2的线型设置
legend([H1(1),H1(2),H2],{'y1';'y3';'y2'});
xlabel('x');
其实改的也不是很大,可以对着好好参考一下。