查看: 2423|回复: 8|关注: 0

[已解决] plotyy设置左边y刻度时如何不影响右边的刻度

[复制链接]

新手

6 麦片

财富积分


050


7

主题

14

帖子

0

最佳答案

使用plotyy时,当修改左边y轴刻度时,右侧会跟着多出刻度标记,如何去除图中圆圈中的刻度标记?

  1. x = -pi:1/180:pi;
  2. ax = plotyy(x,sin(x),x,cos(x));
  3. set(ax(1),'ytick',-1:0.25:1);
复制代码


QQ截图20160622001016.jpg

MATLAB 基础讨论
版块优秀回答者

中级

1200 麦片

财富积分


5001500


2

主题

998

帖子

267

最佳答案
QQ
  • 关注者: 58
发表于 2016-6-22 13:42:31 | 显示全部楼层
左侧的刻度好像比较强势,会影响到右侧的刻度。
右侧的刻度并不会影响左侧的刻度。
理论上应该想办法让右侧的刻度密度高过左侧,这样就不会看到左侧刻度在右侧多出来的部分。
为什么不能接受右侧刻度的密度再高一倍呢?

论坛优秀回答者

权威

8829 麦片

财富积分



8

主题

1万

帖子

1953

最佳答案
  • 关注者: 464
发表于 2016-6-22 15:15:36 | 显示全部楼层
你想这样?achimg]200865[/attachimg]
快照2.png

MATLAB 基础讨论
版块优秀回答者

中级

1200 麦片

财富积分


5001500


2

主题

998

帖子

267

最佳答案
QQ
  • 关注者: 58
发表于 2016-6-22 15:29:49 | 显示全部楼层
jingzhaos 发表于 2016-6-22 15:15
你想这样?achimg]200865[/attachimg]

如果右侧刻度比左侧更密,像你画得一样,就把左侧刻度在右侧的部分遮蔽掉了
但是万一不想右侧刻度比左侧更密呢

MATLAB 基础讨论
版块优秀回答者

中级

1200 麦片

财富积分


5001500


2

主题

998

帖子

267

最佳答案
QQ
  • 关注者: 58
发表于 2016-6-22 16:37:24 | 显示全部楼层 |此回复为最佳答案
本帖最后由 horseechen 于 2016-6-22 17:19 编辑

从stackoverflow上找到了解决的办法。原来这个问题是由于box axis之间的排列和覆盖的顺序有关
用下面这段代码可以完美解决lz的问题
  1. set(ax(1),'box','off')
  2. set(ax(2),'box','off')
  3. % create a new axes on top of old ones
  4. new_AX = axes('Position',get(ax(1),'Position'),'XLim',get(ax(1),'XLim'),'YTick',[]);
  5. set(new_AX,'box', 'on')
  6. % reorder things to make y-axes and box visible at the same time
  7. uistack(ax(1),'top')
  8. uistack(ax(2),'top')
  9. set(ax(1),'Color','None')
复制代码


新手

6 麦片

财富积分


050


7

主题

14

帖子

0

最佳答案
 楼主| 发表于 2016-6-22 18:51:23 | 显示全部楼层
jingzhaos 发表于 2016-6-22 15:15
你想这样?achimg]200865[/attachimg]

右边密一点当然没问题,如果右边刻度较稀疏时,就不行了

新手

5 麦片

财富积分


050


0

主题

4

帖子

0

最佳答案
发表于 2017-2-27 15:42:31 | 显示全部楼层
非常感谢,这个问题纠结了好久

论坛优秀回答者

7

主题

1559

帖子

357

最佳答案
  • 关注者: 65
发表于 2017-3-20 11:04:56 | 显示全部楼层
如果是R2016a以及之后的版本,还是建议你用yyaxis:
  1. x = -pi:1/180:pi;
  2. yyaxis left
  3. plot(x,sin(x))
  4. yyaxis right
  5. plot(x,cos(x))
  6. set(gca,'ytick',-1:0.5:1);
复制代码
多看帮助文档
说明你的matlab版本

新手

5 麦片

财富积分


050


0

主题

2

帖子

0

最佳答案
发表于 5 天前 | 显示全部楼层
深蓝孩童 发表于 2017-3-20 11:04
如果是R2016a以及之后的版本,还是建议你用yyaxis:

感谢,您的方法解决了我长期以来的问题。谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

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