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

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

[复制链接]
(1)画竖直的errorbar
) @" E8 w+ u3 e4 U! R' U) i; J例子:
2 J3 D  I* u6 d& S2 a7 e2 ?close all;figure;
2 f( B, m. x2 E1 o5 @    h=bar(volume_month_mean./1e6);       %--volume_month_mean 为12×2的矩阵
! ^% f8 [4 W. p) Y4 b    set(h,'BarWidth',0.9);
, G3 H* Y/ w# u, _# |    hold on;% O' ]) E" w  i4 Z" c3 ^$ e. g  s
    set(h(1),'facecolor',[139 35 35]./255)    %--设置bar的颜色4 n0 u# z: i4 P# [' F; k2 F9 k" Z, `
    set(h(2),'facecolor','k')
' V! D$ D: y9 V5 x8 w  {0 p- ]" C/ q% o' O0 i% z  l
3 n3 L/ n  V( H) e7 a- e
    ngroups = size(volume_month_mean,1);, T: [* H( g! Y8 E! H6 P
    nbars = size(volume_month_mean,2);' X" V) R/ X: d& @' E3 c- w
    groupwidth =min(0.8, nbars/(nbars+1.5));
4 d! J" W) p* e  H: r0 m; A* o6 I* O5 B

# C) ^: M0 H0 ]. M( T    hold on;' @) r: k' }! ^4 E( _. x8 z( n% M7 M
    for i = 1:nbars              %--画errorbar+ p9 k+ p) ?8 g6 F6 q8 E
        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);
4 n5 B% M! \5 b% C4 s0 S0 A        errorbar(x,volume_month_mean(:,i)/1e6,volume_month_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);
' |  t  C, W% p$ C" b  O    end
! A& P$ r0 Q* D! A    + P: W: |+ d3 s# \. o. A3 ?5 d
    for n=1:12* S# X6 O* S$ G1 ^5 q
        if n<=9& m  Q* f/ ?% B' s( H
            time_lab{n,1}=['0' num2str(n)];
! b/ ?! y8 c! X- L        else
3 @& B2 f4 J8 u; G            time_lab{n,1}=num2str(n);  \% E% V+ \# b/ w7 Z( v  K
        end
8 t) F$ U! i" S* ^& Z! l+ `5 {    end
+ t$ E4 n; a+ {' U) h  wset(gca,'XTickLabel',time_lab,'fontsize',14,'linewidth',2)/ k  j5 G8 X* B, F1 n. `% W
    ylim([-0.5 2.5]): C4 U4 l% d$ ?0 c) Y5 J4 Z/ {
    xlim([0 13])* `2 }5 p4 y7 }' I% b9 P8 l
    set(gca,'ytick',-0.5:0.5:2.5)
* f+ x4 ^* n' O' s   
* n# K8 q7 C2 Q5 u1 I5 P' [9 z2 x% q( U; A
1 q4 E; E* D  @" A6 a' \2 o
(2)画水平errorbar
/ v' z9 K2 A9 R  T( Q/ J0 }/ A例子:
: R5 G  }! D6 O0 ?' m9 B( Q4 Nclose all;figure;2 e& m) H/ E/ B* Q1 E, K
    h=bar(volume_mean./1e6);           %--volume_mean是4*2的矩阵
( L3 @* u! }) P5 N4 K9 Q# {    set(h,'BarWidth',0.9);
8 L: m- N* K6 F; A9 @    hold on;
( o- y1 V9 m, p# Z+ f2 p    set(h(1),'facecolor',[139 35 35]./255)$ e7 i! y# f) t  Q1 f# d, ~6 A/ l
    set(h(2),'facecolor','k')( ~$ P1 p, x: d" b
3 N! R1 \/ B2 A" B/ h

) ^; F) X  j. ?    ngroups = size(volume_mean,1);3 N" h4 I( @/ V# l! h! X% d
    nbars = size(volume_mean,2);1 `# ]& Z2 i' n& @0 f
    groupwidth =min(0.8, nbars/(nbars+1.5));
! I8 O6 Z9 t: I9 w
8 M; b- E# f$ q5 B8 k# u8 ?
; _; {2 d- n6 m4 B* o    hold on;
) l) X1 ]; o! u. i* q3 T    for i = 1:nbars5 ]7 ]% W' i5 v0 J. u& P8 S- x
        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);
2 z  m, P  ~7 ?( U, c. [( Q# m* s        errorbar(x,volume_mean(:,i)/1e6,volume_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);) t. U+ o( Y& r) |; G
    end
# U3 w7 n) I9 Y# L4 B
) A* f; h8 s5 f" p# Q. L* g9 A' \3 [  W" {% l- b
    view(-90,90)1 ~; C* b# C8 r5 S) _5 }+ t
    set(gca,'xdir','reverse','ydir','reverse','XTickLabel',{'Winter','Spring','Summer','Autumn'},'fontsize',14,'linewidth',2)
& H  l2 U, W7 I+ Y- e# I+ `5 M3 G    ylim([-0.5 2.5])* B$ e0 |) B( F
    set(gca,'ytick',-0.5:0.5:2.5)% v. ?% v5 d" U. Z
    ye_xylabel(gca,' ','Volume[Sv]')
2 U3 h3 l/ N; ^- R) x  `5 p9 J% O    legend('A','B','location','NorthEast'); {* z) `  a4 L: e+ T% X5 o' y
   / r3 x3 Z* ^, \' @4 M
0 x4 L1 I' w9 z0 _# v
; t; V- e; F; ~
                    
: m. z  Y: F! j$ {- p8 ~) [, w% Z1 d" N$ b
                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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