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

就是达不到想要的效果。

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 zophim 于 2020-4-10 16:56 编辑 ; o5 E9 u: y0 U/ C6 F

& @$ ?$ z+ x* J1 y# r有一堆0-2范围变动的数据,要将之按顺序画出折线图,如何让y轴大于1的区域为蓝色,小于1的为绿色?. b  E) o% ^+ Q/ W# h& D
也参考了论坛里相关内容,但是就是达不到想要的效果。我的代码如下(为了防止数据稀疏,采用线性插值法):
9 `% ]0 \# S5 I7 a$ N5 Gx=1:1:100;
$ U* w/ I/ }3 u1 gy=2*rand(1,100);
" T7 @" P! J% g- S' z. wxi=0:1/10000:100;
- y3 f* C) b  y$ K9 B% h. t3 Ayi=interp1(x,y,xi,'linear');1 V! H8 ]8 M; H' R
plot(xi,yi)
  W: g0 Z% b8 a+ G" ohold on
  O9 K( n8 K7 ]. k. Karea(xi(yi>1),yi(yi>1),'FaceColor','b')& A3 X% U7 C3 ?3 [5 K3 {, _( g
hold on( c+ l; Z: _+ O
area(xi(yi<1),yi(yi<1),'FaceColor','g')
. {# d% I: q, b) @: X! q2 s3 B' a# y# f2 w9 U- o$ f2 g
结果如图所示,但是我想让y轴数值为1的下方蓝色部分应该显示绿色,原先绿色部分应该是白色。
8 ~) T3 C  d' o9 d" G% T4 i4 ^# a请教大神,非常感谢!
3 ?, S6 l7 B% b4 Q8 v3 H% G/ \) M
7 o- V( u! O# D7 e

该用户从未签到

2#
发表于 2020-4-10 18:11 | 只看该作者
你可以试试换个思路,先把f(x)下区域全部涂蓝,再把y = 1下区域全部涂绿,最后把f(x)与y = 1下的交集涂白+ {. }7 [  z4 \5 `6 \) O' r: z
x = 0:1:20;
  p" K2 g' Z5 T" A. Hy = 2*rand(1,21);
% h: h2 F  l: V+ X6 k8 Lxi = 0:1e-2:20;0 \- m0 }' ~0 W' n( d
yi = interp1(x,y,xi,'linear');% a, N7 c+ P4 r* \* T% ~7 r
close all;hold on7 w# n$ C& @* R; s
area(xi(yi>1),yi(yi>1),'FaceColor','b')
' h# J0 R" m# iarea(xi(yi<1),0.*xi(yi<1)+1,'FaceColor','g')3 Q4 s& Y6 L3 F* V8 J
area(xi,bsxfun(@min, yi, 1),'FaceColor','w')
& E, ~7 I: A- }plot(xi,yi,'k-','LineWidth',2)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-21 23:56 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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