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

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

[复制链接]
(1)画竖直的errorbar
$ O( y3 m% a$ C1 t) w: \例子:
5 X; _* s1 E" aclose all;figure;8 L& r% M! X& D* d, d, x
    h=bar(volume_month_mean./1e6);       %--volume_month_mean 为12×2的矩阵2 T- X9 O1 t6 W" W, J2 e% \- G5 H
    set(h,'BarWidth',0.9);
* X4 C4 S0 J5 T    hold on;
2 K; V$ G0 _& `% g8 S  F% X0 i    set(h(1),'facecolor',[139 35 35]./255)    %--设置bar的颜色1 Y( O  ^1 p% w# F8 M
    set(h(2),'facecolor','k')
) G, l2 D0 E. b# v. M- w0 ?/ O5 G1 S
$ ^" Y9 Q# L: Z
    ngroups = size(volume_month_mean,1);9 o; j9 m) v6 x" k
    nbars = size(volume_month_mean,2);
" x4 ]7 s7 D) }* [& X    groupwidth =min(0.8, nbars/(nbars+1.5));! F. x! e% P. ?0 o, Y) x

6 V1 i6 k! l% ~0 q' U6 f# [2 @  E5 j
    hold on;
$ _% N- n) Y7 x    for i = 1:nbars              %--画errorbar1 u7 r- _& o- l. q
        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);. @5 O. `8 ^; I
        errorbar(x,volume_month_mean(:,i)/1e6,volume_month_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);
8 [, D  ]$ L" u+ M7 v    end; a7 n2 t* ]0 _3 Q! J, t
   
% L% V( d: M9 J0 W    for n=1:12
/ G; L, T  Y/ l* A3 Y* Y9 E2 r# g        if n<=9. Z; t# S" ^" _) W6 W# r
            time_lab{n,1}=['0' num2str(n)];
' b/ \4 m# h8 W: t: u        else
% O# x2 z4 E" I9 ?" l) a" `+ R0 R  k            time_lab{n,1}=num2str(n);
, e# s! I6 z/ r# z2 j6 [+ B' a        end& I/ _6 l2 s5 o0 n& V
    end
7 p$ o- `3 z$ @' {/ K" ~: R* eset(gca,'XTickLabel',time_lab,'fontsize',14,'linewidth',2)
7 h: A, A2 ]  m" W+ K& |) k    ylim([-0.5 2.5])
1 N' r+ z0 s! @6 H    xlim([0 13])
8 d0 @( _& @* ~- |    set(gca,'ytick',-0.5:0.5:2.5)/ }! e1 B' C  j$ v- s4 G1 \
   
& d1 `7 o. ]% U# i% U* l! w: ~' `& K# F+ q' @

/ W& D/ Y% X2 I(2)画水平errorbar$ A8 y8 Y; y4 M( w
例子:
2 @9 N3 P5 ~. w; ]/ F& M  vclose all;figure;
& C0 n1 ?- n- o( O* h! t    h=bar(volume_mean./1e6);           %--volume_mean是4*2的矩阵9 c/ i* P$ L0 F
    set(h,'BarWidth',0.9);" Q8 ^1 I9 v. H5 {9 A$ b- ]+ J4 w
    hold on;
  p' S1 R! a6 t' \; b% }% d- C    set(h(1),'facecolor',[139 35 35]./255)
1 R) h' \3 D  ^+ }    set(h(2),'facecolor','k')
" |+ H! F$ C/ L0 D# M6 B# c( A( T( ~5 l# |4 F+ v5 y$ v4 ?
% M. A* W6 L- L9 ?4 M
    ngroups = size(volume_mean,1);
1 ~' T0 ]) J: q7 ?- A    nbars = size(volume_mean,2);
/ I5 d+ ^4 ~4 B' J9 g    groupwidth =min(0.8, nbars/(nbars+1.5));8 x2 _- E" w/ y1 A( k2 z
6 A& o/ \# e9 X; D* }

4 j* t* Z0 N. m    hold on;0 l6 v! A% F5 u" M% Q: Q+ }
    for i = 1:nbars9 e5 u' ]3 E2 O+ X' W
        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);
( Y9 @' L! Y* w' L" H% C- ~+ T/ Z; E        errorbar(x,volume_mean(:,i)/1e6,volume_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);
. M& ]1 Z" ?; G% O    end
1 x: n4 C4 x! }" x: ?1 N7 Y" y, r# E" z; m" g6 j

; B! t# E% y3 J: [6 v% }( N% @    view(-90,90): ~; k! @9 V; n5 O  N7 W
    set(gca,'xdir','reverse','ydir','reverse','XTickLabel',{'Winter','Spring','Summer','Autumn'},'fontsize',14,'linewidth',2)( {, \( P" m: U, h; e
    ylim([-0.5 2.5])
, h+ e+ o" i, d9 ~2 b    set(gca,'ytick',-0.5:0.5:2.5)
& f9 z3 a, I& |7 ^2 D    ye_xylabel(gca,' ','Volume[Sv]')
" t; F3 u* A( ?3 ?& b( y' S    legend('A','B','location','NorthEast')
/ Q) I- T& Z, F2 ^   7 ]5 Z9 g3 |' B3 H
. z8 a8 ~/ W" r$ u( D
' g/ o5 J; Y- ^0 }
                    
9 |# Y& W% k* Q4 x2 b: X% J; U; J2 O- P* z2 d
                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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