垂直errorbar很容易实现,水平errorbar也经常用到,但网上很多方法都很复杂,在这里介绍一种相对简单的方法:
# Z; y( z9 w9 _0 @/ w% c8 B$ o5 _1 y/ ^6 `1 J
实例:( a5 O w* A, `
方法1:1 m) d6 z2 w% e& C7 a
figure;
t7 A( F( ?% \ p w. ? err=data_std*ones(size(depth,2));
?" X& s+ l" j2 G8 r5 v) h errorbar(depth,data_av,err,'-r','linewidth',2) %先画垂直方向的errorbar- b1 E4 ?4 b+ m$ v% F( i; n
hold on;$ }3 P8 x5 D4 [5 |5 f; G4 e/ E
plot(depth,data_av,'k-','linewidth',2)
9 b! N0 h7 A, F8 U- ^ view(-90,90) %变换图像视角
: U( Q- x0 c* W set(gca,'xdir','reverse','ydir','reverse','linewidth',2,'fontsize',15) %调转坐标轴( r+ V+ N! R( l7 q! c3 b3 t; W
xlim([0 max(depth)+100])) N' R, s( x* D
grid on;: v, C1 `# O& s' R, i8 _
上述方法仅适用于matlab2014a之前的版本,在2017a版本不适用;
: m, n( W- c# m* r/ ^# a" c! J1 h& d3 @& `' Z. }
. F7 `' E: _8 j8 `! A4 C7 W( k方法2:! ], u% W1 a' \- D4 B
利用子程序herrorbar
! u* d9 ^) U2 f1 S
* {! _+ x3 J9 h+ O8 j: |/ T5 g www.52ocean.cn
3 U) w1 l% Z3 Z/ D7 V8 \3 W" x调用方法: + M" E& F+ c. \ s% G
close all;figure ) M$ K/ {* U4 U t
hold on; 7 F6 o% }& `- m( @% Z8 ^5 h5 s
plot(U_mean,depth,'r-o','linewidth',2) - M( U8 C! n+ ~5 L. Z: W* l
err_U=U_std;
X8 o0 j8 o" e( I0 V h=herrorbar(U_mean,depth,err_U,'r-');
1 s3 }9 ] V f, W$ w ?$ v5 W set(h,'linewidth',2)
( ?& A6 E+ _3 z2 @* o% O6 \
* G+ [2 A0 k; c
! } G o- A9 c% g, w! V$ b
4 N; z, {" w" h, W
; N: Q. a$ d4 M+ X, x. O 转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。 |