查看: 417|回复: 10|关注: 0

[已答复] 关于plotyy作图图线顺序的问题

[复制链接]

新手

7 麦片

财富积分


050


2

主题

9

帖子

0

最佳答案
发表于 2019-6-11 23:05:15 | 显示全部楼层 |阅读模式
如下图,目前是绿线覆盖在了蓝线上面。现在我想让蓝线叠加在绿线上面,且不能在作图时颠倒两者顺序来实现。本想使用set中的child 实现,但child只适用于子集之间的问题,用不了。请求各位大神支支招!图源网络

图源网络,绿线覆盖在了蓝线上面

图源网络,绿线覆盖在了蓝线上面


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

中级

830 麦片

财富积分


5001500


0

主题

1334

帖子

180

最佳答案
  • 关注者: 34
发表于 2019-6-12 09:55:04 | 显示全部楼层
ax = gca;
c = ax.Color;
ax.Color = 'blue';

ax = gca;
ax.XAxis.Color = 'k';
你是想要这样吗?!

新手

7 麦片

财富积分


050


2

主题

9

帖子

0

最佳答案
 楼主| 发表于 2019-6-12 10:12:19 | 显示全部楼层
WarnerChang 发表于 2019-6-12 09:55
ax = gca;
c = ax.Color;
ax.Color = 'blue';

您好,您的这段代码是要放在我作图代码之后吗?可我运行不出来呀,显示的是c = ax.Color这句有问题,麻烦您再解释一下。

新手

7 麦片

财富积分


050


2

主题

9

帖子

0

最佳答案
 楼主| 发表于 2019-6-12 10:20:18 | 显示全部楼层
WarnerChang 发表于 2019-6-12 09:55
ax = gca;
c = ax.Color;
ax.Color = 'blue';

您好,您的这段代码是要放在我作图代码之后吗?可我运行不出来呀,显示的是c = ax.Color这句有问题,麻烦您再解释一下。

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

中级

830 麦片

财富积分


5001500


0

主题

1334

帖子

180

最佳答案
  • 关注者: 34
发表于 2019-6-12 10:47:42 | 显示全部楼层
博恩特 发表于 2019-6-12 10:20
您好,您的这段代码是要放在我作图代码之后吗?可我运行不出来呀,显示的是c = ax.Color这句有问题,麻烦 ...

那你就一条条的修改呗!
ax = gca;
ax.YAxis(2).Color = 'b';

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

中级

830 麦片

财富积分


5001500


0

主题

1334

帖子

180

最佳答案
  • 关注者: 34
发表于 2019-6-12 11:06:09 | 显示全部楼层
博恩特 发表于 2019-6-12 10:20
您好,您的这段代码是要放在我作图代码之后吗?可我运行不出来呀,显示的是c = ax.Color这句有问题,麻烦 ...

x=1:0.01:2;
y1=cos(x);
y2=sin(x);
[ax,hlines1,hlines2] =plotyy(x,y1,x,y2);

set(ax(2),'YColor',[0 0.4470 0.7410]);
这样就好了

新手

7 麦片

财富积分


050


2

主题

9

帖子

0

最佳答案
 楼主| 发表于 2019-6-12 11:10:04 | 显示全部楼层
WarnerChang 发表于 2019-6-12 10:47
那你就一条条的修改呗!
ax = gca;
ax.YAxis(2).Color = 'b';

语句改过了,能运行了,不过效果好像没啥变化,仍然是后面画的线覆盖了前面画的线。我再研究研究吧,谢谢啦~

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

中级

830 麦片

财富积分


5001500


0

主题

1334

帖子

180

最佳答案
  • 关注者: 34
发表于 2019-6-12 11:43:55 | 显示全部楼层
博恩特 发表于 2019-6-12 11:10
语句改过了,能运行了,不过效果好像没啥变化,仍然是后面画的线覆盖了前面画的线。我再研究研究吧,谢谢 ...

你是想要把图中的两条线里外调整一下呀!我还以为你是要改变坐标轴颜色呢!

新手

7 麦片

财富积分


050


2

主题

9

帖子

0

最佳答案
 楼主| 发表于 2019-6-14 09:00:44 | 显示全部楼层
WarnerChang 发表于 2019-6-12 11:43
你是想要把图中的两条线里外调整一下呀!我还以为你是要改变坐标轴颜色呢! ...

啊对的,我其实就是想让蓝线描述的函数置顶,盖住绿线,同时还保证蓝线的纵坐标在左侧。可能我之前描述不清楚了,不好意思啦~!那您有没有这个的解决办法呢?

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

中级

830 麦片

财富积分


5001500


0

主题

1334

帖子

180

最佳答案
  • 关注者: 34
发表于 2019-6-14 13:49:18 | 显示全部楼层
博恩特 发表于 2019-6-14 09:00
啊对的,我其实就是想让蓝线描述的函数置顶,盖住绿线,同时还保证蓝线的纵坐标在左侧。可能我之前描述不 ...

你采用yyaxis函数画图吧!
z = sin(3*x).*exp(0.5*x);
yyaxis right
plot(x,z)
ylim([-150 150])

x = linspace(0,10);
y = sin(3*x);
yyaxis left
plot(x,y)
针对你的数据,自己做个改动吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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