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

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

[复制链接]
(1)画竖直的errorbar
! |$ ]: z/ m7 R' d8 K9 {例子:) i6 i/ G6 x- G) G
close all;figure;4 C1 k2 v* M" U" T8 }" r3 m
    h=bar(volume_month_mean./1e6);       %--volume_month_mean 为12×2的矩阵# H6 V  s2 X6 r! _
    set(h,'BarWidth',0.9);. k6 H( Q. Y& |
    hold on;" Z5 e' j7 B  W" `" |+ b
    set(h(1),'facecolor',[139 35 35]./255)    %--设置bar的颜色
  V1 \$ O- R. U- \$ M' L+ |7 Q+ h    set(h(2),'facecolor','k')
- Z' e9 ]) _* \
- O$ v  l' _6 O. E+ L4 Y& d. {# h, H5 ^. J
    ngroups = size(volume_month_mean,1);. A. r: Z. D* b% g- L
    nbars = size(volume_month_mean,2);7 V% t# x* `6 {* {" J' u6 \
    groupwidth =min(0.8, nbars/(nbars+1.5));
) ]1 e) h- q% j+ j7 o8 [) n6 }" i# M! u3 \/ o$ U# q& r' C. s- x
3 M  a( D+ D1 g2 O" c
    hold on;
* H* |/ I& y& M& t8 X    for i = 1:nbars              %--画errorbar# e3 M. H2 R4 H; j8 Z: X
        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);$ u' a$ j* @! M
        errorbar(x,volume_month_mean(:,i)/1e6,volume_month_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);; A' D8 t8 y3 S) ~1 X4 @
    end8 }6 ?* h* K7 }5 w! e0 T
   
" |6 Q" ^1 f0 _, J- n    for n=1:12
. Q' m( [# U4 T  e" L. F        if n<=94 `# {  C2 Q8 Q# i0 c
            time_lab{n,1}=['0' num2str(n)];' Y: P1 `. C: _1 i5 U. g
        else
! e$ u% s6 [2 z! g1 E            time_lab{n,1}=num2str(n);! |$ q$ o- `% ?7 ?% |2 F
        end( D( ]3 @+ _% ]" c% M! n
    end6 P! ]% T0 Q% |5 I  g; E
set(gca,'XTickLabel',time_lab,'fontsize',14,'linewidth',2)% E  Y* _% i4 ~5 f
    ylim([-0.5 2.5])
& K8 u, C5 Y6 x    xlim([0 13])
8 t+ F) Z' o9 e4 T7 C. T    set(gca,'ytick',-0.5:0.5:2.5)* ?& r# F3 _5 K: L# i
   
- O% e* f& D6 r' V
- u+ `. L6 j# x: ]) m
% i/ S7 X( m/ W8 j/ {: m* D! v(2)画水平errorbar" o$ I5 g! r; ]# [
例子:  E2 J, i3 t8 x5 F. H; A& A/ @6 G
close all;figure;
' k! B1 e7 S) g/ N    h=bar(volume_mean./1e6);           %--volume_mean是4*2的矩阵
" P' t+ ^! N; K+ ^    set(h,'BarWidth',0.9);
, w( L; ~; q# s2 K2 g: p    hold on;
& H& n6 U! j9 t; Q5 {1 b9 ]    set(h(1),'facecolor',[139 35 35]./255)
: v" ?( W8 H5 j8 h  t" u. }; h    set(h(2),'facecolor','k')
( W, j3 i0 w3 q0 ~) K6 |9 Z/ p$ R0 E* \0 x# n) `- \
& ~' ~& t( V; |9 c$ u, y! M
    ngroups = size(volume_mean,1);0 {! _% \. m1 v9 U4 y+ ?* x
    nbars = size(volume_mean,2);
* K* Z6 A" ^) K9 H) x    groupwidth =min(0.8, nbars/(nbars+1.5));, L/ _0 Y( v* S: X
* V( N" v: j: B

) U5 R4 k) b3 h3 A' s$ ]0 r, {8 N" D    hold on;
$ ?$ I, S: N2 d2 U    for i = 1:nbars) b; x6 y+ x# M4 G1 Q7 j
        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);
" ^, I' z. Y4 r7 Q        errorbar(x,volume_mean(:,i)/1e6,volume_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);7 t9 L! |, Z7 w% s7 m+ [9 E7 }
    end
' S* ]; [, g( T" f! M9 j# K4 X- S7 S( l' ?9 ]1 W5 Q5 X7 K4 R
9 ^# K9 v6 i! k2 N$ z0 ]% Y! D  N
    view(-90,90)
* O8 I# O3 N- h2 A! A5 I    set(gca,'xdir','reverse','ydir','reverse','XTickLabel',{'Winter','Spring','Summer','Autumn'},'fontsize',14,'linewidth',2)
0 Y& h2 k9 H6 i    ylim([-0.5 2.5])
, O" _) L5 t0 `3 E, h1 H" I% C    set(gca,'ytick',-0.5:0.5:2.5)
3 N% q9 R/ q5 Z+ M( K    ye_xylabel(gca,' ','Volume[Sv]')
( X; X. m7 ~5 [9 F8 N& h* E    legend('A','B','location','NorthEast')
( p, }) f( A6 S3 R+ A6 U( F0 o   * s" F. e  `2 x6 g; U
  }2 j, C) F: E( c7 c

3 r" w* P" [( F: g9 k                    
" n4 \8 [- y6 m; O  b& t) Y3 ~/ G- s- V, |8 t' S5 V% {
                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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