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

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

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

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

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

  • 27
    点赞
  • 111
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值