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

[复制链接]
matlab中有多种填充曲线之间空间颜色的方法,在此介绍几种常用颜色填充方法. G) W8 U3 c/ }1 S, M  m' Q6 Y) k5 C
1. fill命令
$ y0 o! P1 ^9 u, p: u  _fill命令填充曲线的颜色的引用格式:4 [& `5 h8 }( d8 e" J7 B
例1:填充sin曲线与0线之间的空间颜色为红色
* N! U1 t9 Q' N2 s  z* B5 Yx = 0:0.01:2*pi;
6 i; N8 A, U1 Q7 `/ c$ {y = sin(x);
, z- X; x9 D6 U) \+ U) efill([x,fliplr(x)],[y,0*ones(1,length(y))],'r')3 A" f! f1 f+ b9 a
1 [' z  R; d& C9 L
                               
登录/注册后可看大图
. S+ H- B+ O, n) E; d, X  z
, I7 I' y7 _# v% E
, ?8 A! q" }" z) E) o4 `
) z2 @- I( d9 i
例2:修改填充色的透明度$ t0 I" q5 }% c9 d2 W/ g
x = 0:0.01:2*pi;7 a, `3 ^" M& R4 G% l: r+ @# j- T
y = sin(x);
0 r  L7 U5 W: f% T; Ah = fill([x,fliplr(x)],[y,0*ones(1,length(y))],'r');
5 P  p/ o# @0 R6 h. ~  hset(h,'edgealpha',0,'facealpha',0.3)  Z: b9 A# |* j) P9 J" b* f
' B. _9 O, B$ m2 W
                               
登录/注册后可看大图
4 D! v) s; b) f7 z

3 f  G% u6 o$ ^- P% r; L& T  H% u1 C5 Y- l  _$ A

, x6 E- q, C+ g  I& w+ d- [例3:三维填充色3 T, m9 R5 o( }2 L" p
close all;figure3 ?, S& ?1 s, I# @
[xx,yy] = meshgrid(1:10,1:10);
; r/ W! y2 R! r# _: {fill3([xx(1, fliplr(xx(1,)],[yy(1, yy(end,],0*ones(1,2*length(yy(1,)),'r')$ [6 A) ^& d9 J7 [( c7 O! `
grid on;
' z% g- J. i# t' B, M. ^9 r7 Y% M! a% \hold on;, x: ^2 |. q" M* N5 E
fill3([xx(:,1);flipud(xx(:,end))],[yy(:,1);flipud(yy(:,end))],1*ones(1,2*length(yy(:,end))),'g')$ h( O! p/ m- j" r
h = fill3([xx(:,1);flipud(xx(:,end))],[yy(:,1);flipud(yy(:,end))],-1*ones(1,2*length(yy(:,end))),'b');; g* w, G' }$ A# |
set(h,'edgealpha',0,'facealpha',0.3)" R* v$ ?- Y" Q* E& T! R) s
zlim([-2 2])
+ }5 a- \! Y, ~4 H5 @4 @
- o* w. S, R8 F, _
                               
登录/注册后可看大图

) w8 A7 w; G5 x) b8 x# k/ ?! L. P  p. G0 q( ^9 ^3 a) F; q

% b4 N. @  ?+ z8 o8 I6 y- F0 t2 `* c( X0 E
2. patch命令
1 ^; b9 S+ Q+ d2 ?: V/ }; R$ _/ |patch命令引用格式与fill类似
' D+ e. k3 t/ t8 c2 {3 Z8 a2 B) ^例1:
/ V- O" @& S! e: k0 Aclose all;figure6 F7 o- X2 T4 u, H3 ?
x = 0:0.01:2*pi;
" G/ @# v, M& t6 g8 `5 D8 Dy = sin(x);
! b! R5 D! Z' y; t# [7 @! Lpatch([x,fliplr(x)],[y,0*ones(1,length(y))],'r'), ~. C0 B1 [' n; h: D1 H3 Q

) C8 L+ b9 q9 q# Q3 W                               
登录/注册后可看大图
3 m+ A9 ?, P+ v* e- ^$ K! ?
. j# u* C( l- z0 B2 t" G
例2:3 v/ q1 [: i4 x6 Z
close all;figure
! e+ N  Z% U0 j( C9 X; |( v4 {x = 0:0.01:2*pi;
4 G4 p+ G3 `+ m% u0 C1 Gy = sin(x);
1 ]* Q3 @, @; }, a1 `# s* m1 rh = patch([x,fliplr(x)],[y,0*ones(1,length(y))],'r');
9 i) D  {4 J1 r2 B; x* ^: sset(h,'edgealpha',0,'facealpha',0.3)
# @* \" C9 U, {: r$ l8 S

. q$ r! f( p7 |0 s* L0 N0 `                               
登录/注册后可看大图
- O) C' x, Z2 D2 d3 m) l

1 k0 Q/ S0 j9 v: X+ f) b例3:6 I) W& A" o7 K% f. a: `2 a0 }2 [
三维填充- Y& v5 W! e3 Q" S- ], k
close all;figure" a, u% s0 ]1 X
[xx,yy] = meshgrid(1:10,1:10);
) |% x" v+ }* T9 [( J7 \& C* hpatch([xx(1, fliplr(xx(1,)],[yy(1, yy(1,],[-1*ones(1,length(yy(1,)) 1*ones(1,length(yy(1,:)))],'r')! b/ B. B7 K& k2 H
grid on;1 K* o: e$ S# {
hold on;1 `8 g5 q) @- R- B: S7 O
patch([xx(1,:) fliplr(xx(1,:))],[yy(2,:) yy(2,:)],[-1*ones(1,length(yy(1,:))) 1*ones(1,length(yy(1,:)))],'g')0 L( H$ ^8 E9 A' W" @/ z& m
h = patch([xx(:,1);xx(:,1)],[yy(:,1);flipud(yy(:,end))],[-1*ones(1,length(yy(1,:)))... 1*ones(1,length(yy(1,:)))],'b');& T: n% m9 V  q& i- E) Z
set(h,'edgealpha',0,'facealpha',0.3)/ S6 B  W5 @  U8 c2 P/ c4 ?
zlim([-2 2])
( F* ^5 W/ y- F8 q5 u. Q6 k
. Q9 F/ ]& q; `4 w% J" L
                               
登录/注册后可看大图
6 v1 \9 a. Y% V! n) h) x' p

- q8 s0 g0 R  G# ]* J6 w9 K6 g! R                    
* g' k! |, Q) A- a- `) d1 q
: a5 M' w# m0 o6 w5 b                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。

相关帖子

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