MATLAB双轴坐标图的画法(详细)

找了好多双轴坐标系的,感觉都不全,而且都不够详细,综合和好几个画法,稍微总结一下。

先是第一种情况,双轴里面有两条线,一个轴对应一条线的。

MATLAB双轴坐标图的画法(详细)_第1张图片

不多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');

然后是三条线,其中两条线用左轴,第三条线用右轴。

MATLAB双轴坐标图的画法(详细)_第2张图片

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

其实改的也不是很大,可以对着好好参考一下。

你可能感兴趣的:(matlab,学生)