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

[复制链接]
(1)画竖直的errorbar/ r1 G6 J8 o0 s$ U" f6 p  k" {, Q
例子:
9 W  S* N! H% u& [0 O. T* kclose all;figure;; b; V" [5 e. w3 t0 S$ V
    h=bar(volume_month_mean./1e6);       %--volume_month_mean 为12×2的矩阵( ?) {$ j, G, ^- f' \/ B
    set(h,'BarWidth',0.9);, [9 P! r% t6 G" {; h- ^' P
    hold on;
  @9 S0 k( g0 o8 z1 t2 ?2 @* g0 q2 a    set(h(1),'facecolor',[139 35 35]./255)    %--设置bar的颜色
$ U8 G2 c, \- R8 f    set(h(2),'facecolor','k')! q+ [; ?  I8 g- |/ G, ^) [

  l8 E+ u8 |- D  X9 z' H$ a; w( m+ `, B
    ngroups = size(volume_month_mean,1);
1 I' J9 K& \2 Y6 @$ o) Y    nbars = size(volume_month_mean,2);0 Q) R" W. t+ d/ u' @
    groupwidth =min(0.8, nbars/(nbars+1.5));( \4 O! c. ~& ^' T
, h' w! B  d9 J: W) c8 W6 p

- B2 b$ F: m" i1 q! @) q9 _0 ^  M    hold on;7 k# w% V' M1 u( K; `9 R
    for i = 1:nbars              %--画errorbar
! I0 [+ m% t8 _  ]) \" [        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);0 P, X( t+ @7 D9 V, m& o
        errorbar(x,volume_month_mean(:,i)/1e6,volume_month_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);. }: F* [% f8 k  p5 j/ z
    end* e6 J: t7 z. O0 q* e( }
   
" w3 U/ G; E9 t1 g$ w: Y" \# L    for n=1:12
! e5 L# l' S; S2 V$ v  _, V9 `+ a        if n<=9
! I1 g. R& W; W7 d/ x1 F, z            time_lab{n,1}=['0' num2str(n)];( f  u' z% C6 x! y  z+ b0 X& N
        else4 o6 g/ h: P" j& W  D1 P, r/ d; M
            time_lab{n,1}=num2str(n);0 V5 X: j2 d1 l3 K" K+ j8 ^% {1 i
        end: \3 ~2 b, M2 B! A
    end
6 {. A9 Q% v# P. e, iset(gca,'XTickLabel',time_lab,'fontsize',14,'linewidth',2)9 m! h/ w6 F$ E$ A
    ylim([-0.5 2.5])" U8 P/ r+ G& M7 o, H
    xlim([0 13])9 {) z! y7 B5 P( y
    set(gca,'ytick',-0.5:0.5:2.5)
" J' R  a9 T* Z* ?   
+ E3 Y  o- P( o5 J3 _" ]8 o) u+ ]' a' Z+ r, q: S0 Q

" V6 N, |* E; K* W. i- P; H. z(2)画水平errorbar7 ?$ K4 |5 y# c$ M9 [; o
例子:5 L' ~* S" Z+ t5 L- X: ^3 t
close all;figure;
# U! Q. I3 G% X4 {5 c/ y    h=bar(volume_mean./1e6);           %--volume_mean是4*2的矩阵
& Q0 M: A- [$ q- M' W6 V  p1 T, Y' w! B    set(h,'BarWidth',0.9);$ ~) ]1 q7 U2 ?! G  z
    hold on;, u3 w7 X9 F9 d+ q$ U$ y' c5 c
    set(h(1),'facecolor',[139 35 35]./255)
7 S' ?8 o- ?2 `! H2 R" P$ X- l    set(h(2),'facecolor','k')
( M) p! l: M! X" \( B; S, Q  k+ L( t0 {6 d5 W! Y' w+ x5 e

. L) z- f. |# P; R    ngroups = size(volume_mean,1);
# m& G+ T: }  {; t! g" ?    nbars = size(volume_mean,2);5 e( w- \& F- B4 t/ c& a$ c4 S0 _6 I
    groupwidth =min(0.8, nbars/(nbars+1.5));4 d/ W3 N: z! y; }( R, Y

: e0 a6 V9 `8 |
; G7 I+ H/ o3 E5 m  a& B; W) O    hold on;
+ h; b* s, E5 s/ U    for i = 1:nbars% y* @, c+ ]; q4 G
        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);1 A2 @0 j* |% \) y/ @' h: z& F
        errorbar(x,volume_mean(:,i)/1e6,volume_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);
: g: {  S+ h) C2 O! ]    end% M- g, P0 s, W1 I" Z

* Y( h" I2 n; ?+ Y- x4 l' a" |: v* C( w
    view(-90,90)4 h" J' f- _! l* T# X4 l
    set(gca,'xdir','reverse','ydir','reverse','XTickLabel',{'Winter','Spring','Summer','Autumn'},'fontsize',14,'linewidth',2)- h- {9 W; F7 E4 z, T  a
    ylim([-0.5 2.5])5 w; h# ]5 u4 y  _% c) U5 Q6 k
    set(gca,'ytick',-0.5:0.5:2.5)
% a  @) a$ |+ J+ D    ye_xylabel(gca,' ','Volume[Sv]')" X1 f/ x& w  D7 w7 Q0 y
    legend('A','B','location','NorthEast')" P' {  }; X  U' q# a
   - l5 Q& U* }8 o- _* K
" O# ?- g2 R4 M$ M- q/ D: A1 a+ E

; X& u8 D7 v0 k1 a& C                    ( I. B9 m& {8 n+ B
8 \, O! u# O" n$ |8 V# ~. ^
                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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