声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3379|回复: 6

[绘图技巧] plotyy的y轴刻度显示问题

[复制链接]
发表于 2009-5-28 13:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
dt=0.0001; T=15; t=0:dt:T;
g=9.8; L=1; m=10; k=5; theta0=3.1; v0=0;
v=zeros(size(t)); theta=zeros(size(t));
v(1)=v0; theta(1)=theta0;
for n=1:length(t)
    v(n+1)=v(n)+(g*sin(theta(n))-k./m.*v(n)).*dt;
    theta(n+1)=theta(n)-1./L.*v(n).*dt;
end
[AX,H1,H2]=plotyy(t,v(1:length(t)),t,theta(1:length(t)),'plot');
set(H1,'linestyle','-'); set(H2,'linestyle','-.');
set(AX(2),'ylim',[-6 6]);
set(get(AX(1),'ylabel'),'string','线速度v(t) m/s');
set(get(AX(2),'ylabel'),'string','角位移 \theta(t)/rad'); xlabel('时间 t/s');
legend(H1,'线速度 v(t)',2); legend(H2,'角位移 \theta(t)',1);

(我的电脑有问题,传不了图片,抱歉)
但我想要的是右侧的y轴显示的是-6:2:6  (就像左侧y轴显示的刻度一样)

[ 本帖最后由 ChaChing 于 2009-5-30 20:21 编辑 ]
回复
分享到:

使用道具 举报

发表于 2009-5-28 14:33 | 显示全部楼层
把set(AX(2),'ylim',[-6 6]);
改成
set(AX(2),'yticklabel',-6:2:6);

评分

1

查看全部评分

 楼主| 发表于 2009-5-28 16:29 | 显示全部楼层

回复 沙发 friendchj 的帖子

按你的方法只是把y轴的显示给改了,
我的原意是把原来的右侧y轴坐标上下平移或者缩放吧。。从而使左右两侧的y轴能对齐(而不是只改了y轴标签)
应该是在右侧的y轴,先设定范围set(AX(2),'ylim',[-6,6]);这时的左右坐标是对其了
但是右侧y轴的刻度显示却和左侧不一样,我想把这时的右侧y轴跟左侧一样,显示-6:2:6,而不是此时的...-2,-1,0,1,2,3,4

[ 本帖最后由 dtczhl 于 2009-5-28 16:35 编辑 ]
发表于 2009-5-28 17:55 | 显示全部楼层
在set(AX(2),'ylim',[-6 6]);
后加上
set(AX(2),'yticklabel',-6:2:6);
试试

评分

1

查看全部评分

 楼主| 发表于 2009-5-28 19:18 | 显示全部楼层

回复 地板 friendchj 的帖子

不行哦。。。
如果加上set(AX(2),'yticklabel',-6:2:6);  左右的数值就不对应了。。。
你运行下就应该知道我想要什么样的效果了。。。
麻烦你了。。。
 楼主| 发表于 2009-5-28 19:40 | 显示全部楼层

回复 地板 friendchj 的帖子

原来我想要的是 set(AX(2),'ytick',[-6:2:6])
一直没想到这个东东,,,,,
还是十分感谢你。。学到了yticklabel的用法

评分

1

查看全部评分

发表于 2009-5-28 19:51 | 显示全部楼层
呵呵,我也刚想到
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-11 21:02 , Processed in 0.071455 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表