垂直errorbar很容易实现,水平errorbar也经常用到,但网上很多方法都很复杂,在这里介绍一种相对简单的方法:
% m, ~- Q0 O/ B5 @
7 Z/ G' ?: U6 _! h* x/ c& l实例:2 z6 @: Z" v7 p9 @7 Y' I9 a) d
方法1:
2 ?5 f, `+ V( {. A: Dfigure;
5 ~0 Q+ j1 }$ ` err=data_std*ones(size(depth,2)); " d! S6 x1 C+ W8 o3 g" ]
errorbar(depth,data_av,err,'-r','linewidth',2) %先画垂直方向的errorbar L4 V! f# T# S$ m" }0 s
hold on;3 }3 }2 ], L* w+ l% X3 V( H. i( E3 w
plot(depth,data_av,'k-','linewidth',2)
+ S9 }% ~" l a7 ?8 d view(-90,90) %变换图像视角- r$ w; H# N) N
set(gca,'xdir','reverse','ydir','reverse','linewidth',2,'fontsize',15) %调转坐标轴! _( S* Y. K& _$ s+ [6 P0 Z4 |9 L, W
xlim([0 max(depth)+100])
3 l) f9 l- i! {1 t W g( f3 S grid on;# U" b& e' G# @# p- l1 C
上述方法仅适用于matlab2014a之前的版本,在2017a版本不适用;
5 ]/ z( C* y1 O* M: W
2 k) q! l t# I$ @3 c( Q3 [! T' j# L y2 O- s
方法2:
" }' c2 T. ?, j3 A+ o利用子程序herrorbar
% \% H: T' z, s6 D, Q
0 t T2 M# [; |7 x www.52ocean.cn( _ D9 I7 [0 P% L/ `) z
调用方法:
( [/ x) A* D! [# b8 g L, `close all;figure
& v) g$ x9 P% C+ x1 t ~ hold on; : J# V# S8 E O! m4 w; _
plot(U_mean,depth,'r-o','linewidth',2) 0 R& @ Y* E3 {$ r
err_U=U_std; % g/ e/ V6 M3 |2 Y5 y$ f
h=herrorbar(U_mean,depth,err_U,'r-'); 6 y) D0 ]: k' }/ E. D( o
set(h,'linewidth',2)
1 n8 V# w9 A# ?/ b' L" c8 e5 s, j) t6 x: ^$ d4 \) k
! {! b1 k4 r2 V7 Q% B* @/ I
9 r' p/ b ?' T0 a$ s
% \( m- F/ Z1 g 转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。 |