MATLAB中使用plotyy绘制双纵坐标图及坐标轴设置

关于plotyy绘图的用法网上有很多,但是对于纵坐标间隔不同时很难找到合适的方法,这里主要参考了MATLAB论坛中的内容http://www.ilovematlab.cn/thread-473107-1-1.html 

其思想就是把原坐标轴中的box属性关闭,重新再画一个坐标轴。

x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
[AX,H1,H2]=plotyy(x,y1,x,y2,'plot');
set(AX(1),'ylim',[-300 300]);   % 坐标轴范围
set(AX(1),'ytick',[-300:100:300]) %坐标轴刻度
set(AX(1),'yticklabel',[-300:100:300])
set(AX(2),'ylim',[-1 1]);
set(AX(2),'ytick',[-1:.5:1])
set(AX(2),'yticklabel',[-1:.5:1])
% 以下为核心部分
set(AX(1),'box','off')
set(AX(2),'box','off')
% create a new axes on top of old ones
new_AX = axes('Position',get(AX(1),'Position'),'XLim',get(AX(1),'XLim'),'YTick',[]);
set(new_AX,'box', 'on')
% reorder things to make y-axes and box visible at the same time
uistack(AX(1),'top')
uistack(AX(2),'top')
set(AX(1),'Color','None')

 

 

 

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值