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

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

[复制链接]
matlab中有多种填充曲线之间空间颜色的方法,在此介绍几种常用颜色填充方法
  T0 a  f5 Z" J* P7 B, C4 a+ L, e1. fill命令0 p: c6 v# D! L
fill命令填充曲线的颜色的引用格式:! \8 z3 V7 i1 F+ ^; C9 D7 z# O
例1:填充sin曲线与0线之间的空间颜色为红色
# {% k( q  I6 q% R) |5 Zx = 0:0.01:2*pi;
  }. n8 B& g* q" @% ~y = sin(x);
0 [; h6 Q( K: r/ h* P5 Ffill([x,fliplr(x)],[y,0*ones(1,length(y))],'r')
' S9 o8 v$ O- {9 [; J9 t! T  f

6 s" B$ T1 x3 D% G- ^                               
登录/注册后可看大图

+ ?( k# l' w4 j  u6 h2 X. N9 E
3 I0 ]$ [- y& R3 f6 X( y0 v% ^
* w+ L' p6 F5 ?: r9 K5 G( Y2 C& x3 O0 q" k& h
例2:修改填充色的透明度" a% y8 s2 S  R
x = 0:0.01:2*pi;* I0 B$ B) y* M! r$ E$ e
y = sin(x);
% A+ T+ L& H  o0 O" i6 ~: |h = fill([x,fliplr(x)],[y,0*ones(1,length(y))],'r');: A& q% ]. k$ o, k
set(h,'edgealpha',0,'facealpha',0.3)
( r; D# P* n0 t$ n
* g" s- X6 v4 x) u- Y
                               
登录/注册后可看大图

# a; C9 m, w/ Z  w! a; t' [6 Q0 Q* v" [
9 E, w' ]1 I  n' l0 o4 U
% v8 s1 l; x" N
例3:三维填充色* E  e$ g0 O8 J4 o* z
close all;figure
3 u3 p/ p& B/ ~) ~) b[xx,yy] = meshgrid(1:10,1:10);$ r! w, V! W* O. W0 `
fill3([xx(1, fliplr(xx(1,)],[yy(1, yy(end,],0*ones(1,2*length(yy(1,)),'r')
+ ?7 D; t7 O6 n4 F/ M# E( zgrid on;
" A9 o8 R( C, P  p* [hold on;
+ x7 X9 M9 l3 e% Nfill3([xx(:,1);flipud(xx(:,end))],[yy(:,1);flipud(yy(:,end))],1*ones(1,2*length(yy(:,end))),'g')
! O. ~0 |& y4 h9 [h = fill3([xx(:,1);flipud(xx(:,end))],[yy(:,1);flipud(yy(:,end))],-1*ones(1,2*length(yy(:,end))),'b');
7 L7 Z! U' s! t! O: Mset(h,'edgealpha',0,'facealpha',0.3), r- |5 v+ M3 n7 e! Y" V# {3 P) O
zlim([-2 2])+ j8 G/ T. F: y% m1 j# r
4 t, `) G  ?( W& k
                               
登录/注册后可看大图
! K7 P6 Q* o# a( B( A/ e3 Y3 B
, s% k% |5 V- S

3 @: Y: M5 D/ q6 N4 z: B% k' G
: n' A) r9 i% H1 Z6 G% K. _; J, v: L2. patch命令' J, r: B1 i$ O) T7 y, v4 x5 i0 d5 s
patch命令引用格式与fill类似
3 J- X8 x/ s: J9 l例1:- s$ _  h$ r! M' l+ ^
close all;figure  A, @, T& H9 m2 c6 y
x = 0:0.01:2*pi;* y& ^, j; y4 v8 O; r
y = sin(x);6 N5 t0 x& a  G) B$ n  f
patch([x,fliplr(x)],[y,0*ones(1,length(y))],'r')
+ P" u8 x* w5 a5 H$ m( h
" L2 U2 y+ I4 d$ B
                               
登录/注册后可看大图
5 P& S* t8 E+ N2 a9 h4 U6 n) G

0 w3 R4 H" n  _/ N: |; ^. l例2:4 L( i5 A) M0 b
close all;figure
; |* D1 c4 H! e: J: L  Z; z6 e; xx = 0:0.01:2*pi;+ L6 i- i" ^' e6 k/ @/ _3 N
y = sin(x);
. i0 M2 R( z' f; j- v, b# |h = patch([x,fliplr(x)],[y,0*ones(1,length(y))],'r');
9 q; y9 Q3 N0 y1 Y* M6 Y2 q1 T5 J. tset(h,'edgealpha',0,'facealpha',0.3)
+ F  G+ ]! V  R. Z+ u& I5 i: j

- g) g# h) w! _; ^, |. ^                               
登录/注册后可看大图
0 W* b6 N, z5 M, L$ u3 U
' k4 q' k5 r% @
例3:
# ^2 g- Y; B: E+ m, r1 c, }; o三维填充* n8 d6 i# C7 c/ V
close all;figure: E' C0 {6 v8 j3 f
[xx,yy] = meshgrid(1:10,1:10);
9 `  }$ S4 D. h2 _: p. Mpatch([xx(1, fliplr(xx(1,)],[yy(1, yy(1,],[-1*ones(1,length(yy(1,)) 1*ones(1,length(yy(1,:)))],'r')
8 z$ k9 m& z' wgrid on;
6 t; a7 r- W# x# `8 \5 Mhold on;8 ^- h; `" m, l- |" e( }2 b! v
patch([xx(1,:) fliplr(xx(1,:))],[yy(2,:) yy(2,:)],[-1*ones(1,length(yy(1,:))) 1*ones(1,length(yy(1,:)))],'g')' i7 G& ?* d9 ?  g: l
h = patch([xx(:,1);xx(:,1)],[yy(:,1);flipud(yy(:,end))],[-1*ones(1,length(yy(1,:)))... 1*ones(1,length(yy(1,:)))],'b');9 m; u' l$ M+ I3 I5 z) U. }
set(h,'edgealpha',0,'facealpha',0.3)
; T( W8 F& |2 _3 d/ g" h4 E6 c' a+ Ezlim([-2 2])
, j+ |! P. m6 M

& t' f/ X" q0 N# n. d; [                               
登录/注册后可看大图
2 E- g8 [2 R: r2 I5 G5 q! ~/ W
/ o$ y) }: A8 I, {; b
                    
, t/ Z& y3 z; _
9 E- C% @0 ~+ |- d3 ~/ ]2 [                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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