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

就是达不到想要的效果。

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 zophim 于 2020-4-10 16:56 编辑
9 Q2 M* b% L0 h! _7 _8 t- `  t% H
有一堆0-2范围变动的数据,要将之按顺序画出折线图,如何让y轴大于1的区域为蓝色,小于1的为绿色?
- Y! |9 `" l& X, P/ W+ g3 `- Z) M也参考了论坛里相关内容,但是就是达不到想要的效果。我的代码如下(为了防止数据稀疏,采用线性插值法):9 w4 q( |; ^$ e  ?
x=1:1:100;  P/ B7 S% U% F+ |5 Z/ x( S
y=2*rand(1,100);7 e$ K0 Y( l% p4 {8 `
xi=0:1/10000:100;" W  m! t. w) i6 c/ S
yi=interp1(x,y,xi,'linear');3 Y# e7 U, [. F' T6 N
plot(xi,yi)
" A7 C3 n2 V8 ^( |2 Xhold on
% R8 i+ o' O4 f8 H8 o% `area(xi(yi>1),yi(yi>1),'FaceColor','b')
' g/ _# T# r# yhold on
1 k; @* V$ h: l/ l& q5 o0 zarea(xi(yi<1),yi(yi<1),'FaceColor','g')( |% r. x* @% N  ?

% N6 T: W) x! @4 ?" E8 M' V* R- t结果如图所示,但是我想让y轴数值为1的下方蓝色部分应该显示绿色,原先绿色部分应该是白色。/ U& g2 ^! R( U; Z( E
请教大神,非常感谢!
5 ?. p* d4 L  c: \# o
* h# o! k% n# ]$ z+ _

该用户从未签到

2#
发表于 2020-4-10 18:11 | 只看该作者
你可以试试换个思路,先把f(x)下区域全部涂蓝,再把y = 1下区域全部涂绿,最后把f(x)与y = 1下的交集涂白& `& D3 N$ B7 d5 B$ @. \  g
x = 0:1:20;
, J3 R% x9 \5 |: P5 ?2 t- Q/ Ny = 2*rand(1,21);. _2 m( @7 U) j
xi = 0:1e-2:20;6 V: g$ o( d( g% \- u
yi = interp1(x,y,xi,'linear');
8 J/ i  d5 g  Iclose all;hold on0 U/ i/ P, o# X7 [1 B2 e: i
area(xi(yi>1),yi(yi>1),'FaceColor','b')
+ O% V2 ?. c' x( Varea(xi(yi<1),0.*xi(yi<1)+1,'FaceColor','g')
8 y* v$ u2 G+ @8 ^area(xi,bsxfun(@min, yi, 1),'FaceColor','w')
) F" }& V: K! c& b' m# ]plot(xi,yi,'k-','LineWidth',2)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 06:21 , Processed in 0.156250 second(s), 26 queries , Gzip On.

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

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

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