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

就是达不到想要的效果。

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 zophim 于 2020-4-10 16:56 编辑 ( R5 m6 r! X3 O0 ]2 ?$ R5 z

" k6 ^4 z  b: t% j/ g; |+ W有一堆0-2范围变动的数据,要将之按顺序画出折线图,如何让y轴大于1的区域为蓝色,小于1的为绿色?7 }5 l! o* W: F1 e- O: }4 B: c: I( o
也参考了论坛里相关内容,但是就是达不到想要的效果。我的代码如下(为了防止数据稀疏,采用线性插值法):: S0 x8 k& R, @) c  e
x=1:1:100;
3 C0 P& F  U& f* v: j( ]y=2*rand(1,100);" O) Q1 N7 O; \% Z) O7 M2 o
xi=0:1/10000:100;
9 I! f: @, q. }5 r3 _3 xyi=interp1(x,y,xi,'linear');
: f5 h. g0 d' w4 Fplot(xi,yi)# D/ Y. B. ?" L0 k
hold on
3 m0 D4 j5 Y# ]area(xi(yi>1),yi(yi>1),'FaceColor','b')
- x% L3 T5 |2 |( X/ P. lhold on+ W7 c. p4 a  ^$ S1 N2 M4 k; l* y
area(xi(yi<1),yi(yi<1),'FaceColor','g')
8 C+ a1 F6 C2 _# V: G+ ]
8 u& a9 n# \' A% r结果如图所示,但是我想让y轴数值为1的下方蓝色部分应该显示绿色,原先绿色部分应该是白色。3 Z. q( }4 r8 i5 P
请教大神,非常感谢!4 k9 I. w; q8 K! [6 L( a& [( ^
" ]+ x4 M4 n2 |! A5 h6 P. I

该用户从未签到

2#
发表于 2020-4-10 18:11 | 只看该作者
你可以试试换个思路,先把f(x)下区域全部涂蓝,再把y = 1下区域全部涂绿,最后把f(x)与y = 1下的交集涂白
2 Y: S: P- o& j+ q: i( dx = 0:1:20;% G5 v( }( I# s
y = 2*rand(1,21);9 v! k/ Z, e, q5 w* T& Z, a
xi = 0:1e-2:20;+ g# [. M! B4 p
yi = interp1(x,y,xi,'linear');
5 _* ~' ?" [4 e8 y. n2 k3 fclose all;hold on
, w; ?* A6 `& E0 }area(xi(yi>1),yi(yi>1),'FaceColor','b')
. {  o0 E6 X3 a* h/ }6 I8 m$ j8 {area(xi(yi<1),0.*xi(yi<1)+1,'FaceColor','g')
# p0 p0 u, l# u4 jarea(xi,bsxfun(@min, yi, 1),'FaceColor','w')! H$ H3 |; i: |6 J! N
plot(xi,yi,'k-','LineWidth',2)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-4 00:29 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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