收藏本站 劰载中...网站公告 | 吾爱海洋论坛交流QQ群:835383472

【MATLAB】关于曲线之间颜色填充以及填充色透明度的问题

[复制链接]
matlab中有多种填充曲线之间空间颜色的方法,在此介绍几种常用颜色填充方法
4 Z3 T2 D: g' o7 @- ]/ v1. fill命令
8 o7 w* p7 I/ _1 _9 A$ U5 ?- \0 ?# zfill命令填充曲线的颜色的引用格式:  H) D# R9 G  _- z0 h
例1:填充sin曲线与0线之间的空间颜色为红色
) d6 c6 D" b6 a! `x = 0:0.01:2*pi;
& E! S  p) Y) p- t- qy = sin(x);' G) e2 e$ G, l9 {
fill([x,fliplr(x)],[y,0*ones(1,length(y))],'r')1 O& c4 i: a! z

2 x4 `# {' }% S2 W# P5 F: x                               
登录/注册后可看大图
5 @5 u. `& s- j3 p
7 M+ |4 A6 a# W1 S* ]. @8 M+ I- L
* Q! @) T7 a3 X1 O# A
- x! d& y. W( G5 s. e7 o
例2:修改填充色的透明度% k8 i# v4 Q* x! z6 [4 e
x = 0:0.01:2*pi;
  u# P( k' ~$ B$ V! y# @, J* Oy = sin(x);3 L7 A! x  @7 o/ ]& [& Q/ h: w
h = fill([x,fliplr(x)],[y,0*ones(1,length(y))],'r');
5 J+ |- ^3 p. |& nset(h,'edgealpha',0,'facealpha',0.3)
0 \; p; `% |- n, ]9 K

% U$ Z; q- j2 m1 d2 U                               
登录/注册后可看大图
8 K* r5 P' i+ p1 ]- F' x7 o. y! S
/ w4 k/ \# x" t! f( i

  A: N# z% C, M5 d( `& Y3 J9 Y. ?$ ]6 c7 A% n' e2 h* `$ C  t1 ]5 ]. l
例3:三维填充色6 c, f3 v; m% P- @
close all;figure
: Q2 l/ Y5 ^6 t* X[xx,yy] = meshgrid(1:10,1:10);
$ d+ d+ s) Y5 g4 jfill3([xx(1, fliplr(xx(1,)],[yy(1, yy(end,],0*ones(1,2*length(yy(1,)),'r')  u( n  c* P7 ~; F
grid on;
: Y8 Z+ U* i/ \/ l) A2 \+ u8 c) dhold on;
/ I4 G( Z" A8 j8 k8 t# }3 Ufill3([xx(:,1);flipud(xx(:,end))],[yy(:,1);flipud(yy(:,end))],1*ones(1,2*length(yy(:,end))),'g')
) o/ u5 d4 l) Z9 Gh = fill3([xx(:,1);flipud(xx(:,end))],[yy(:,1);flipud(yy(:,end))],-1*ones(1,2*length(yy(:,end))),'b');1 Y. i! `* {/ J/ y$ N: Q) g( x, x
set(h,'edgealpha',0,'facealpha',0.3)
6 x9 I/ Q/ X# p! }& R  {zlim([-2 2])
7 K5 o) }: t1 s) q( E- X9 v
2 b3 Z  S! U, ^* n5 @
                               
登录/注册后可看大图
9 f% I* I! T1 W% u! u6 ]

9 K- P' a4 N) \
/ O) X& ~% B% a+ n9 @
9 N5 d  I5 I2 i8 |0 p$ L2. patch命令% [2 E- K, d6 Y7 J7 i# A
patch命令引用格式与fill类似4 x1 b) Z3 E) z/ C. k. P# X5 W
例1:0 W2 p) I# n' k
close all;figure8 ~9 i( h  D+ }* T, ~2 n3 W
x = 0:0.01:2*pi;
0 |4 {& p9 r7 [# E" iy = sin(x);
3 w7 A6 f  I+ a6 gpatch([x,fliplr(x)],[y,0*ones(1,length(y))],'r')
% L7 R; T) o4 |; Y+ ]+ k5 M6 p5 _
5 T1 {$ |2 M$ m" w& i! T
                               
登录/注册后可看大图
+ s8 V( {  A% u5 T

+ }: v8 k$ B( p6 r/ d' x9 f例2:- _2 G4 S% R: A( S7 E% x- C8 ?
close all;figure
) w& {4 N" H; B+ Yx = 0:0.01:2*pi;
4 p: Z& J5 R: {/ Cy = sin(x);
% n) ~2 B; ~# ^7 ch = patch([x,fliplr(x)],[y,0*ones(1,length(y))],'r');
: Z$ O0 M9 S/ k8 a4 Oset(h,'edgealpha',0,'facealpha',0.3)" g+ ]2 {* n" [  w" K- u
" B) X- e9 k  V' v4 E
                               
登录/注册后可看大图

* M8 ~* ~  ~  e; e( _' U; ?/ f/ T8 ^5 F- g( s
例3:
4 x  o! d' B" b% a( Y' E三维填充
  F2 c) w8 E' U. hclose all;figure- H0 ?) {0 ]# N/ p
[xx,yy] = meshgrid(1:10,1:10);3 b$ c. G: ?0 U1 y  A- R9 B
patch([xx(1, fliplr(xx(1,)],[yy(1, yy(1,],[-1*ones(1,length(yy(1,)) 1*ones(1,length(yy(1,:)))],'r')
9 w5 M6 n6 N% a* a. qgrid on;
1 x5 h/ O$ }: T$ Xhold on;
, [" J- b. D' ~) rpatch([xx(1,:) fliplr(xx(1,:))],[yy(2,:) yy(2,:)],[-1*ones(1,length(yy(1,:))) 1*ones(1,length(yy(1,:)))],'g')
/ B4 \! u  {* B" b  W) Bh = patch([xx(:,1);xx(:,1)],[yy(:,1);flipud(yy(:,end))],[-1*ones(1,length(yy(1,:)))... 1*ones(1,length(yy(1,:)))],'b');
1 o$ n1 ]- C. G4 E3 iset(h,'edgealpha',0,'facealpha',0.3)
  b( ^5 Q  o) S/ [! {zlim([-2 2])
7 s: }& \, I) E6 f) g
+ o) L) k& w) O3 k  S
                               
登录/注册后可看大图

0 ]; N4 e3 o" d. W+ ]8 }
, ]5 f; ~$ H. }8 J( N6 d6 l                    0 K+ b0 g9 K! Q: @7 h# o* |5 E
9 Y# o0 c. I) p) D
                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

全部回帖
暂无回帖,快来参与回复吧
懒得打字?点击右侧快捷回复 【吾爱海洋论坛发文有奖】
您需要登录后才可以回帖 登录 | 立即注册
黄金品质
活跃在2021-12-8
快速回复 返回顶部 返回列表