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

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

[复制链接]
matlab中有多种填充曲线之间空间颜色的方法,在此介绍几种常用颜色填充方法
  H6 t! j% m. S; L0 p5 c: p) F1. fill命令
7 f# c5 d6 v$ F5 Mfill命令填充曲线的颜色的引用格式:! F) J# z( E& E( F
例1:填充sin曲线与0线之间的空间颜色为红色* r1 {- g' H+ a  m9 ^2 P
x = 0:0.01:2*pi;
" j; M3 X* H/ r  d8 }y = sin(x);
9 T* N9 Z' A6 Gfill([x,fliplr(x)],[y,0*ones(1,length(y))],'r')
) e/ `* ]4 W& [. @5 Y1 k7 i2 o

% D$ g7 G/ a* L' J! I% V                               
登录/注册后可看大图
- `' _, U, }4 Y# E8 B* D2 p
7 d* J9 _! u9 Q! I
$ [4 Q0 p4 \' M& r; f: b6 ]
7 w' |9 c3 W4 C& Z+ j# p, d
例2:修改填充色的透明度! O, E" g: o- ~" g
x = 0:0.01:2*pi;* A( L3 \& H  J% C# t
y = sin(x);, v8 H9 Z) G0 P; l: P- e* j9 C
h = fill([x,fliplr(x)],[y,0*ones(1,length(y))],'r');
* I/ Q2 z, d4 {0 ?) l  i9 r$ [set(h,'edgealpha',0,'facealpha',0.3)3 D+ T& J/ M, W0 C) i

6 C: c$ Q/ u& {4 C# A                               
登录/注册后可看大图
; D' d6 q$ q5 c8 k1 I
$ b3 t% v% q. G- [) H0 K9 x

  `3 J& I. g8 V2 {2 h% o1 ^# V2 X4 a0 N* G, _7 l6 [6 E
例3:三维填充色1 d9 j* |5 M: Y! }5 Z& ^% I
close all;figure
: J/ o2 j+ ^- ]* S) ~6 B" c4 q[xx,yy] = meshgrid(1:10,1:10);
7 E& j  `8 N# P6 Q% `+ [' T4 r, A/ j/ wfill3([xx(1, fliplr(xx(1,)],[yy(1, yy(end,],0*ones(1,2*length(yy(1,)),'r'), d+ m- Z' ~' f
grid on;( u. D/ ]$ Y" P/ z" O2 C
hold on;5 s4 B/ @' Q- M( H+ w0 i( u
fill3([xx(:,1);flipud(xx(:,end))],[yy(:,1);flipud(yy(:,end))],1*ones(1,2*length(yy(:,end))),'g')3 N5 _" W" ^8 L
h = fill3([xx(:,1);flipud(xx(:,end))],[yy(:,1);flipud(yy(:,end))],-1*ones(1,2*length(yy(:,end))),'b');+ Y- u. P4 M0 Y) I' O2 A9 C
set(h,'edgealpha',0,'facealpha',0.3)! M# f3 A! u- q8 u4 m: @0 I5 c
zlim([-2 2])* {  g2 b4 D- k3 K- Q, R" J
1 I. M% T4 R; S% ]0 h  H
                               
登录/注册后可看大图

. |& V4 N2 l" R5 P4 s+ Y2 ~* O2 O8 K0 d& _8 K, J
3 @$ L! Y' _% n5 g0 X
7 X8 n4 \" [2 N& [
2. patch命令0 S; I# r" T2 J
patch命令引用格式与fill类似
2 S6 R0 i; Q" y' r2 b9 M1 J& ~- Y! N例1:4 f" E3 w/ x8 ~* J# Q
close all;figure5 X9 ~" b, P* ~8 ?8 [+ R
x = 0:0.01:2*pi;  ?, W* N5 r& J5 Q6 O
y = sin(x);
! D% ]8 s/ L8 O9 k$ ^; m& I4 dpatch([x,fliplr(x)],[y,0*ones(1,length(y))],'r')
1 S. V- s$ |$ N% T
7 S; t. @7 k/ q( j9 n
                               
登录/注册后可看大图

* P, Y, A( m4 a$ a) h, Q- F$ v0 I) U# S2 J' o$ P- B. m1 X
例2:. v  s+ }" ^" Z: D8 i4 N
close all;figure
' a8 O- R- w& D$ Z$ U& q: hx = 0:0.01:2*pi;, F" I$ d; i0 @4 b) o2 Y
y = sin(x);
/ P$ Z9 O* {6 J  `: ?h = patch([x,fliplr(x)],[y,0*ones(1,length(y))],'r');
7 u# S3 a" \4 Y3 [; u1 Bset(h,'edgealpha',0,'facealpha',0.3)7 R- v( N4 s/ ?5 s  t* X* I( O
- m. |% v+ q3 K4 l" j
                               
登录/注册后可看大图

4 A( q3 _: N" E; K/ Q. O; G5 q0 v/ p2 t6 W- T3 f* ^" L$ J
例3:
# O1 A: \8 i4 n7 N+ w& ~三维填充
& Q" Z( t' h8 Pclose all;figure$ K6 }* C; Z6 d2 J( p
[xx,yy] = meshgrid(1:10,1:10);: `! Z4 u2 v0 i7 \$ [2 N5 G6 [9 F
patch([xx(1, fliplr(xx(1,)],[yy(1, yy(1,],[-1*ones(1,length(yy(1,)) 1*ones(1,length(yy(1,:)))],'r')6 _1 z% a* J) q* q6 I( ]
grid on;
" C9 T0 ^4 l  ^2 r" F% _9 W; zhold on;  ]( A# N5 y# b# _" ]8 E. N0 G
patch([xx(1,:) fliplr(xx(1,:))],[yy(2,:) yy(2,:)],[-1*ones(1,length(yy(1,:))) 1*ones(1,length(yy(1,:)))],'g')
8 j7 c3 T; B* Q" [9 Hh = patch([xx(:,1);xx(:,1)],[yy(:,1);flipud(yy(:,end))],[-1*ones(1,length(yy(1,:)))... 1*ones(1,length(yy(1,:)))],'b');$ m, b7 u/ W$ @2 R6 G: D1 ]
set(h,'edgealpha',0,'facealpha',0.3)
0 O( M4 }7 `8 V4 Szlim([-2 2])
3 _' r+ C& u( c3 f, o! R6 F
- e# W8 f: q* D# [& h" c
                               
登录/注册后可看大图
/ q3 x* x4 H1 e& m

2 t+ q! Z6 p& a, d( |- D: {                    ' r4 X# R' G; {- L" R! [

1 q4 D+ `' Q2 b, q                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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