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

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

[复制链接]
matlab中有多种填充曲线之间空间颜色的方法,在此介绍几种常用颜色填充方法
# y$ Y0 h! m7 l, _1 K$ B* z* P( z1. fill命令1 Q% Z! p8 a# t. W7 I, P9 X
fill命令填充曲线的颜色的引用格式:
" ?( U# d7 G) i% ?( g8 I: H* p例1:填充sin曲线与0线之间的空间颜色为红色
/ i; z0 @, j1 g+ G9 y, ux = 0:0.01:2*pi;& C0 F1 ^/ c1 D+ R& K
y = sin(x);4 A* k" @. `* N) }8 z
fill([x,fliplr(x)],[y,0*ones(1,length(y))],'r')
: U7 u. i/ F7 u# O1 ?7 `
9 {+ E+ E* V4 ^. S
                               
登录/注册后可看大图
; M' \* s* K7 V& |+ V, [

' w3 a0 B8 O4 l- M, C+ w, ^* L! ?9 i6 d0 H# m$ Y
/ B; V" `1 y( f2 m4 m
例2:修改填充色的透明度& s9 {1 r# C$ t- _
x = 0:0.01:2*pi;' v( U& ?/ V2 N  t% `+ T4 S
y = sin(x);
' j2 u( z/ q6 Fh = fill([x,fliplr(x)],[y,0*ones(1,length(y))],'r');
1 F+ v$ K5 u0 d' w6 Lset(h,'edgealpha',0,'facealpha',0.3): X/ d8 S! K8 h" U" u9 S4 ?% b7 x5 d6 }

2 u8 j/ |# }, X" N                               
登录/注册后可看大图
- N+ P8 B( C5 Z0 {; E4 }6 K
/ Q/ J- E# Q% s3 y* {  g

! L$ a. x1 s! n1 u4 B! p7 j1 c  V; D; k$ C/ O
例3:三维填充色2 i! e+ l% i, {8 W
close all;figure1 Y8 W/ U& n1 ?
[xx,yy] = meshgrid(1:10,1:10);9 v3 [: I0 N: c4 L" J
fill3([xx(1, fliplr(xx(1,)],[yy(1, yy(end,],0*ones(1,2*length(yy(1,)),'r')( W$ h6 ~. w7 P% f( s
grid on;
2 [- I. j7 t0 ]8 ]7 Phold on;4 ]+ ~% x5 e( j* |  E' P1 R
fill3([xx(:,1);flipud(xx(:,end))],[yy(:,1);flipud(yy(:,end))],1*ones(1,2*length(yy(:,end))),'g')% e" k9 Z" Q  p/ C3 ]' W& v
h = fill3([xx(:,1);flipud(xx(:,end))],[yy(:,1);flipud(yy(:,end))],-1*ones(1,2*length(yy(:,end))),'b');9 h0 C2 P. v1 a3 w. u! \
set(h,'edgealpha',0,'facealpha',0.3)* @  M" \  f8 P( E% N8 z7 j
zlim([-2 2])0 k4 z  P8 v/ ]' I
0 U$ W# Z8 D, G; P  ]; E
                               
登录/注册后可看大图
( j$ q9 f/ C! T/ T2 G
5 F* y; m; i8 T9 A3 {
2 x) }! z1 k1 X% M# W. x. ?+ n

. r8 b/ `& V! g9 d0 h3 e& Q2. patch命令
( D- n" h9 W  i" l9 zpatch命令引用格式与fill类似
/ Q9 |4 z7 u- w+ w( }* T例1:; X% y/ O, g* R* w5 }1 E
close all;figure$ ?! K4 r( ]/ I( E) B1 O, d
x = 0:0.01:2*pi;" q. ?, _" n! P9 i' W
y = sin(x);
& R. y) R0 |+ X! f/ tpatch([x,fliplr(x)],[y,0*ones(1,length(y))],'r')
: w1 {, ?7 g8 h6 l( z& |
+ F! u7 U2 S" {/ |) ~" V
                               
登录/注册后可看大图
& M. r; o7 K8 s$ e, |0 e7 B
! d! u  i8 v! S# P5 b
例2:
- K5 y; S5 z9 t0 sclose all;figure
7 x/ V$ y0 k/ q( Px = 0:0.01:2*pi;
) N$ t; A: X8 M9 E# u! Gy = sin(x);
* r+ p( F* ~% u) N7 A6 bh = patch([x,fliplr(x)],[y,0*ones(1,length(y))],'r');
; c5 G3 v; N" V& u: w/ iset(h,'edgealpha',0,'facealpha',0.3)
, B+ V  W2 w7 U4 d5 X5 W$ v  p
& Y3 X3 w) w/ g5 W4 l% {
                               
登录/注册后可看大图
9 ?2 Q4 q+ _  w$ ?: Q, |

  c. ~; o# e1 k& b, Z例3:
% \$ F% R7 k4 y! L/ \( P三维填充
- y8 k6 T, B( X6 P5 Z: Lclose all;figure* a  {  e1 Q2 d, _2 k+ ^
[xx,yy] = meshgrid(1:10,1:10);, I1 \% j+ a3 Q
patch([xx(1, fliplr(xx(1,)],[yy(1, yy(1,],[-1*ones(1,length(yy(1,)) 1*ones(1,length(yy(1,:)))],'r')2 T. P: X+ y1 w- g: k
grid on;
& d1 z6 e, u  G' B, \. s" Mhold on;% p, s) p) z. g
patch([xx(1,:) fliplr(xx(1,:))],[yy(2,:) yy(2,:)],[-1*ones(1,length(yy(1,:))) 1*ones(1,length(yy(1,:)))],'g')
1 ~, C3 b) A) E6 U+ o9 {h = patch([xx(:,1);xx(:,1)],[yy(:,1);flipud(yy(:,end))],[-1*ones(1,length(yy(1,:)))... 1*ones(1,length(yy(1,:)))],'b');6 ^5 f1 ]1 h* c* \: o/ U8 d9 j/ l
set(h,'edgealpha',0,'facealpha',0.3)7 N0 Z1 D! M- _0 \, H- w
zlim([-2 2])% y3 E  D, }8 n/ l5 M* G: a$ S

4 O# a/ n2 A) a# k2 q3 `( N$ E4 F                               
登录/注册后可看大图
9 j; h" b+ C- k  a* e

/ `' E: V4 R6 B7 g8 M1 J" I+ W, k                    
# A/ z& v/ D. K9 }' r- T$ D7 V0 K3 R) l+ b4 G% R
                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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