找回密码
 注册
关于网站域名变更的通知
查看: 440|回复: 1
打印 上一主题 下一主题

就是达不到想要的效果。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-4-10 16:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 zophim 于 2020-4-10 16:56 编辑 0 h' ?4 }1 \4 s. A! t' l
% G6 P- Q4 }$ y  i* D
有一堆0-2范围变动的数据,要将之按顺序画出折线图,如何让y轴大于1的区域为蓝色,小于1的为绿色?
. D( E5 j" Y9 F也参考了论坛里相关内容,但是就是达不到想要的效果。我的代码如下(为了防止数据稀疏,采用线性插值法):0 M* y8 ?" t' O4 T8 \. s' `( f
x=1:1:100;
# O8 K. C/ Z) w5 u: U4 c( Ky=2*rand(1,100);
* a* X  \) F$ d7 F7 }4 J+ y3 }3 r$ Qxi=0:1/10000:100;
8 O4 j4 b/ x1 k9 A% B8 Z$ k- Vyi=interp1(x,y,xi,'linear');' H( z/ U% e3 g6 f- \
plot(xi,yi)' z( n0 t) D3 r5 ^3 m
hold on* m& [; H2 B; q9 [: @; I6 U3 V- F5 k' R) z
area(xi(yi>1),yi(yi>1),'FaceColor','b')) I1 u' ?0 k. M; i2 V$ W! w1 f
hold on/ F  Q# k/ \9 L$ d& D# T
area(xi(yi<1),yi(yi<1),'FaceColor','g')
. z+ \, p- i8 L8 y# }  R! g
- T& S+ J6 K! I) Q8 y结果如图所示,但是我想让y轴数值为1的下方蓝色部分应该显示绿色,原先绿色部分应该是白色。% i3 m! P3 u! J1 y5 j
请教大神,非常感谢!; P+ }" ^# {4 {4 A: z) M7 \6 U

) ?7 j  K2 s2 f4 ^: w

该用户从未签到

2#
发表于 2020-4-10 18:11 | 只看该作者
你可以试试换个思路,先把f(x)下区域全部涂蓝,再把y = 1下区域全部涂绿,最后把f(x)与y = 1下的交集涂白% ]; Y+ [0 J) f. G4 U( R; F/ h+ |
x = 0:1:20;
( P" S# u9 _8 z3 D# w- H& V/ oy = 2*rand(1,21);
% @; f' x6 ?4 Mxi = 0:1e-2:20;2 |+ F3 R# i2 [. l% e
yi = interp1(x,y,xi,'linear');
6 ?; @8 t$ e- ~  q! rclose all;hold on
8 Q  J' s4 u6 ^. T; W7 g( garea(xi(yi>1),yi(yi>1),'FaceColor','b')/ p4 N( u8 P0 b  y$ e
area(xi(yi<1),0.*xi(yi<1)+1,'FaceColor','g')
4 s# \" c9 Y+ z6 M7 uarea(xi,bsxfun(@min, yi, 1),'FaceColor','w')
6 Q$ D) u/ n4 j! splot(xi,yi,'k-','LineWidth',2)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-22 10:42 , Processed in 0.109375 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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