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

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

[复制链接]
(1)画竖直的errorbar4 O  w1 f% z% P9 }* x% d9 j
例子:2 \. B& A4 I0 `4 ~2 p
close all;figure;+ c% E# s1 l% Q
    h=bar(volume_month_mean./1e6);       %--volume_month_mean 为12×2的矩阵
" U+ M8 A6 X+ k7 A1 M" ?    set(h,'BarWidth',0.9);$ Z0 Y, z1 i  d5 j( |
    hold on;
, r9 Y: [: `+ z, a    set(h(1),'facecolor',[139 35 35]./255)    %--设置bar的颜色
4 u& h: a' p- N! m4 Y+ e9 S+ U/ a    set(h(2),'facecolor','k')
8 h4 S6 S% [9 w9 Y% l) K/ X. l: _, h, j! y+ u& Z" G
" P( A: z7 N/ V, W6 E8 Z2 U
    ngroups = size(volume_month_mean,1);% O8 K& D& ]' c* n3 Q4 Y
    nbars = size(volume_month_mean,2);2 f& o0 y% R3 ~2 a
    groupwidth =min(0.8, nbars/(nbars+1.5));
' W, y- C& A8 K. U& f# v' l3 X$ c8 u. a- a: `6 j; B

. J" M! Z( o2 V! T    hold on;7 S, x: ^$ T4 C# A" H/ ~
    for i = 1:nbars              %--画errorbar* K+ v; x7 u( L( C+ K
        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);
* \0 J. o5 v8 t% i& _        errorbar(x,volume_month_mean(:,i)/1e6,volume_month_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);
# {( V7 S0 S6 \5 {$ g) u+ T    end
4 J4 P+ F8 h- Y   
3 r& f2 q: x& k4 e# |. V+ ^    for n=1:122 a- a: ?) B, i1 c/ i* f; H' w- Q$ G
        if n<=9" }3 m2 x+ R1 p- T
            time_lab{n,1}=['0' num2str(n)];) j+ J/ J- R% b3 ^8 E. H
        else
6 J. O8 f2 Q9 e+ c/ i% r            time_lab{n,1}=num2str(n);
) w# R: {  f6 S. Z( `9 J        end( H' `* n3 ]) r1 E( N
    end
! G6 v7 j: u) t/ ]set(gca,'XTickLabel',time_lab,'fontsize',14,'linewidth',2)6 o/ y  I' F9 Q# M
    ylim([-0.5 2.5])0 i: _# M/ I: s( m- [# w& T, \8 k
    xlim([0 13])
7 [+ b9 z1 B  p: A" v, v    set(gca,'ytick',-0.5:0.5:2.5)' [! a" o1 d8 q) ]/ y0 C3 l* F
   8 }# P/ A" i5 P2 b5 ^* \
5 x0 X( r. k3 r: P  Z. r0 m
9 F! W( v: q/ _- @# R) N1 j
(2)画水平errorbar/ l/ A5 H' f- a# i* e- s, s% o
例子:
5 j! x; j$ f/ Y  s9 fclose all;figure;4 v$ J5 l( k, `
    h=bar(volume_mean./1e6);           %--volume_mean是4*2的矩阵; x" T( ~+ X! D( M/ K& [
    set(h,'BarWidth',0.9);* h1 E) S& u' m- I
    hold on;) l- M4 {" T" c; w5 p5 q
    set(h(1),'facecolor',[139 35 35]./255)  @: e' Z4 W: A8 X3 _
    set(h(2),'facecolor','k')
8 H1 V& w  N+ D. M" `- \, K
$ d4 W2 b5 X; a1 u' t, l3 E! a! N4 f$ x8 x; S. J. S( f, s4 L
    ngroups = size(volume_mean,1);
/ \: f; {; b( Z) m7 a0 V5 q    nbars = size(volume_mean,2);
+ P  Y8 s$ y6 b1 d' R1 H    groupwidth =min(0.8, nbars/(nbars+1.5));/ e, A5 T& j9 p/ A* q

& I  {& W' d  q* e1 I
5 b, F0 c4 I2 p- u    hold on;! W- Q1 m! U/ N
    for i = 1:nbars
% O8 V* l- K) I. r. n7 Q        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);
2 }+ X1 C) S" z- ^        errorbar(x,volume_mean(:,i)/1e6,volume_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);
8 e  Z* K+ F) c- s) ~* Q* ~    end
. Y) N- y# w8 E
- T& s5 F4 L* `, J" d' V
3 N9 J# e. p  N8 `! B6 S5 J, ?    view(-90,90)
2 X1 Z+ e/ J. L6 \- X    set(gca,'xdir','reverse','ydir','reverse','XTickLabel',{'Winter','Spring','Summer','Autumn'},'fontsize',14,'linewidth',2)' y5 M) ~7 ~4 _) g; u; X
    ylim([-0.5 2.5])0 l$ x4 y. y1 y9 d' W/ H! q
    set(gca,'ytick',-0.5:0.5:2.5)6 |3 V8 h7 a# T
    ye_xylabel(gca,' ','Volume[Sv]')" L0 g; a3 b  s5 L" g
    legend('A','B','location','NorthEast')/ ^) |1 S. n& L$ }8 r( p3 s! W
   1 P5 r2 `# ^! ?( r
- V; \' b$ g( N0 v7 Y8 _; |! w- r
- {; B  @) @1 \0 F; ?3 o6 S0 q
                    
1 g/ K+ B* w8 I& l+ Y& u! g
) L: w% Y4 A- N) d) k3 w2 `                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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