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

就是达不到想要的效果。

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 zophim 于 2020-4-10 16:56 编辑 ! g6 i9 d9 c/ x3 ^2 ]9 Q

  w1 X% N' j" q( R, G有一堆0-2范围变动的数据,要将之按顺序画出折线图,如何让y轴大于1的区域为蓝色,小于1的为绿色?
& b$ D4 d6 A; ?; o也参考了论坛里相关内容,但是就是达不到想要的效果。我的代码如下(为了防止数据稀疏,采用线性插值法):" s/ a: A) `2 T. X
x=1:1:100;! q! E8 z& o8 Z5 \! {. j" }
y=2*rand(1,100);& v* G; D/ f! [% W
xi=0:1/10000:100;4 p" ~% Y* L' |% ~
yi=interp1(x,y,xi,'linear');. |7 R7 I" x, ]. A
plot(xi,yi)  |: z$ _8 y2 d9 F' p3 @& x2 w. ^
hold on4 D9 ?5 N/ [) E
area(xi(yi>1),yi(yi>1),'FaceColor','b')' S$ N8 i+ l8 i& N4 {3 z5 b& M
hold on  X( C. x/ I; f, @. K4 n
area(xi(yi<1),yi(yi<1),'FaceColor','g')
; d3 u5 b5 y! y) w, t- s! Y0 a6 U# _0 E' ^) u' u. G
结果如图所示,但是我想让y轴数值为1的下方蓝色部分应该显示绿色,原先绿色部分应该是白色。
1 f( x+ V4 s7 n0 r/ g# b请教大神,非常感谢!
5 o3 w5 ~0 `# K9 R( A 6 d8 F* P0 G8 y( K: A1 @

该用户从未签到

2#
发表于 2020-4-10 18:11 | 只看该作者
你可以试试换个思路,先把f(x)下区域全部涂蓝,再把y = 1下区域全部涂绿,最后把f(x)与y = 1下的交集涂白
1 N8 W7 D  P2 N) e! C, Px = 0:1:20;
5 d% P) a. z. R( r+ Fy = 2*rand(1,21);
3 B( f5 m, i, ~6 _6 S4 cxi = 0:1e-2:20;
% o6 x. u5 |: ]yi = interp1(x,y,xi,'linear');, N, Y7 [% B% u2 w
close all;hold on
' t+ E+ ^; p: k8 D* b) W8 [area(xi(yi>1),yi(yi>1),'FaceColor','b'): K- f* S$ W' M& D3 n; Q, y
area(xi(yi<1),0.*xi(yi<1)+1,'FaceColor','g')8 C6 o. T6 Z- {! X  ~' B
area(xi,bsxfun(@min, yi, 1),'FaceColor','w')' ]! X) c2 K% j
plot(xi,yi,'k-','LineWidth',2)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-18 09:57 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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