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

【MATLAB】如何画带errorbar的直方图

[复制链接]
(1)画竖直的errorbar
, G5 u1 C& w" @( u; c例子:. e7 j+ b8 X6 X. e' b' J- B
close all;figure;, i5 ~* c7 j. M# u# f+ f5 t" B$ R$ [
    h=bar(volume_month_mean./1e6);       %--volume_month_mean 为12×2的矩阵1 g% }0 \  P( D9 `: q
    set(h,'BarWidth',0.9);
0 Z! w. y& f, @1 l5 I/ v1 k+ J    hold on;
6 ?, P  j: [' v6 z7 K    set(h(1),'facecolor',[139 35 35]./255)    %--设置bar的颜色8 p" R0 @3 B, M1 V% M
    set(h(2),'facecolor','k')  J7 z& ]6 \' ~3 `, {* R

  z2 A! b! }1 I2 R- R
  n8 K' _7 w9 `3 }% X( T6 E    ngroups = size(volume_month_mean,1);
  O! R1 t8 C3 d" s1 T0 r    nbars = size(volume_month_mean,2);
6 r9 G- i- q1 \: h    groupwidth =min(0.8, nbars/(nbars+1.5));
! m: t3 v9 A% R. p6 @! T4 _0 k  @/ O& `' g: N$ V
3 C, Z+ S& R, q
    hold on;* F* E# f8 y. f) g
    for i = 1:nbars              %--画errorbar
0 [" d* I' T5 o$ }2 ]        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);
) A( j8 J! Z' S& Y7 n" i; v        errorbar(x,volume_month_mean(:,i)/1e6,volume_month_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);
& q* K8 s3 z  D. C8 N; N1 V    end
1 F2 W- w# ]. h/ E   
8 i7 \$ X" _# a8 ?9 o" Y3 \    for n=1:12. B5 ~& |3 n& m! c2 E
        if n<=9% w4 R# T) _( o! ^
            time_lab{n,1}=['0' num2str(n)];4 i( B$ A* |$ H
        else$ y" ^6 z; e0 k* Z# r
            time_lab{n,1}=num2str(n);
  o! L: u: F  v+ L6 J  E        end
0 Q# V) k5 d* f( x. q    end
( }0 W6 p7 [$ e& l/ H) X9 o+ p) g1 Zset(gca,'XTickLabel',time_lab,'fontsize',14,'linewidth',2)& z5 b" a+ C5 F+ B+ @2 {
    ylim([-0.5 2.5])
: ]. u& a1 F/ S5 _0 l    xlim([0 13])0 R# y$ U8 A+ O7 L7 t' \1 W
    set(gca,'ytick',-0.5:0.5:2.5), ~# c& `# E$ J( {- L6 W6 }; X$ L
   8 F! f1 n& c. R+ E3 d. e+ s

1 D7 L/ G8 u7 t  k9 M
( N; I7 U& x/ U* w7 W& G7 Y8 t(2)画水平errorbar, u! Q) `! N2 i' ?7 Y
例子:
; h# X  ^- W* Iclose all;figure;
0 R1 n0 H: L) \. u    h=bar(volume_mean./1e6);           %--volume_mean是4*2的矩阵
* C/ i. l  ?  b7 q+ O# Z+ j    set(h,'BarWidth',0.9);: |" y' F6 C& x* d
    hold on;4 D. O/ e9 l: T; t* M& C
    set(h(1),'facecolor',[139 35 35]./255)* L% z# [$ Y4 H1 f$ f
    set(h(2),'facecolor','k')
$ h, R' |: E$ {3 K3 F3 s! Q
& m- Q; w  `3 I. s9 I* D* P: [8 X* g- I
( e4 v, Q5 c1 d+ ]' H2 K    ngroups = size(volume_mean,1);/ T% y: G. e8 _0 p
    nbars = size(volume_mean,2);7 W" L& x* _+ I0 a5 V+ \
    groupwidth =min(0.8, nbars/(nbars+1.5));7 Q+ `$ H6 `+ X4 c: [
" [5 d9 |" V4 N, u

8 \0 {0 K! d: h6 C( b6 x    hold on;
1 ?/ u# X+ k2 h    for i = 1:nbars" S2 T" [; R% t, X4 Z
        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);
( K/ T; r: O: u+ h4 @* a4 i: ]        errorbar(x,volume_mean(:,i)/1e6,volume_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);
( p: b/ Q9 X) K. D    end
9 J( d& _8 H! b1 U7 v5 G1 E5 a
! @% o9 N$ \: e8 ?' y: [; Y" A1 Q: S
    view(-90,90)( O5 e0 d$ \: ^! K. Z
    set(gca,'xdir','reverse','ydir','reverse','XTickLabel',{'Winter','Spring','Summer','Autumn'},'fontsize',14,'linewidth',2)
/ I! C, ?+ A- W/ |    ylim([-0.5 2.5])
, U" |2 k6 W: x( K7 o7 ]    set(gca,'ytick',-0.5:0.5:2.5)
5 z, v( X7 a! R1 T+ d    ye_xylabel(gca,' ','Volume[Sv]')5 [% {' h: H$ R: Y
    legend('A','B','location','NorthEast'): Z: P9 D3 i  t3 Q, j( u
   
! d% X9 @' T+ _! P, L! v. x+ v1 v; H  _, z  A$ S- K5 ?

& ?. @% }3 x( R- D1 y                    
1 r. Q0 i* ^, u) S) J3 I
  V. i( q' {, x- C( N                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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