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

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

[复制链接]
(1)画竖直的errorbar: A: m5 ]6 r% G7 b  L1 [# l4 T- M- k
例子:5 G) V$ l+ _) M3 S8 W/ h. n) x
close all;figure;
* Y* h% {7 j' s) s0 d; X. A& h    h=bar(volume_month_mean./1e6);       %--volume_month_mean 为12×2的矩阵% r1 C7 T9 I' X2 r/ r1 _  F% q
    set(h,'BarWidth',0.9);
5 s0 I$ Y2 s3 k% [% v' q    hold on;4 s5 n% z: r& P$ `- R" v/ W6 \
    set(h(1),'facecolor',[139 35 35]./255)    %--设置bar的颜色
0 L5 u9 T/ k7 q' p; m: Q9 m    set(h(2),'facecolor','k')
9 p% `7 J+ M; {3 U; M" y' E; Z! m& `( L
8 o* _! I8 W* K) |* Y' x
    ngroups = size(volume_month_mean,1);9 S& U* L: _7 E1 F- Z- V' `- H) x
    nbars = size(volume_month_mean,2);; d6 H8 F) F: K5 s* Q. Y) K1 G
    groupwidth =min(0.8, nbars/(nbars+1.5));8 o  i' B* J9 g  d9 m6 T+ `0 [

* O6 X. f# K  y9 R; g2 Z
2 a! q4 S5 t# g/ d7 V7 e6 Y/ q    hold on;' C' q1 f4 ]+ j
    for i = 1:nbars              %--画errorbar9 `8 p) s9 Q; v8 i$ D; B
        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);
, ]0 d( X) R6 @# I        errorbar(x,volume_month_mean(:,i)/1e6,volume_month_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);
0 {/ S& K: G4 E, C    end
, u' ~  G6 G6 V5 r7 J   
$ w4 M; {" h( A4 `* K& |    for n=1:124 Y- `/ t2 G' @' I
        if n<=9
6 a" l5 {* z$ q) J            time_lab{n,1}=['0' num2str(n)];
7 F7 H+ m2 J  G5 O4 j        else
0 m0 h* H) T, p; V( D/ ^7 D            time_lab{n,1}=num2str(n);
& _) A0 K) p  }0 i# I) v        end9 X6 U% N+ n& \7 Q# B
    end  R' n, m* |8 d' D# s
set(gca,'XTickLabel',time_lab,'fontsize',14,'linewidth',2)0 s2 U8 M0 W( a& }7 R2 I: z
    ylim([-0.5 2.5])
  m5 h5 H+ X' R. h: A    xlim([0 13])
4 {. V2 E: j5 ]# O1 _6 l    set(gca,'ytick',-0.5:0.5:2.5)) j) s/ l0 f1 v, U& x& d
   ! b& f( y; a3 L+ c* [3 x! u6 u
/ y! I  o3 a0 ]' ]

6 P: ]/ F7 R- L+ k(2)画水平errorbar
/ M% p$ M1 b* ?( l5 r5 `例子:
) E+ Z0 Z7 |: o1 l4 l; kclose all;figure;: Q9 t8 m3 J( S2 R1 C# T. w
    h=bar(volume_mean./1e6);           %--volume_mean是4*2的矩阵7 |( g* P  n/ @: K/ i% U9 V
    set(h,'BarWidth',0.9);6 p0 B+ x9 y% s/ F1 y: _; G* c  X, e+ J
    hold on;, K# D# Z/ [7 V, a. h. i
    set(h(1),'facecolor',[139 35 35]./255)/ s5 `& E, M. @+ z9 `6 D
    set(h(2),'facecolor','k'): Y3 ?2 o+ \7 L4 D7 E* x2 G" N

4 H( b# ?5 S, _4 i
3 I: R$ U1 n/ s- n$ R    ngroups = size(volume_mean,1);
- v5 B( ^# `- L8 U% f" \) w& [    nbars = size(volume_mean,2);
2 [  ]7 j3 i$ b    groupwidth =min(0.8, nbars/(nbars+1.5));
0 H9 W2 I; i, ]. I3 Y" c" D8 p2 S' l7 ~: ?& c

% b! h( N/ L% C2 W    hold on;
/ h- B; z0 w  m# T) P5 ?: x9 A    for i = 1:nbars0 V% w5 n- o% m' d1 E3 ~
        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);$ C  M4 J4 H, D& f  A: ^1 e
        errorbar(x,volume_mean(:,i)/1e6,volume_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);/ V4 ^. D9 ~- Q! ]  D' z9 k" G3 o
    end
, T6 G/ |1 k! I/ \3 ?) X+ `1 A. r4 R* d  U( C

7 ^! {+ p. n; X2 h# f    view(-90,90)6 p6 b6 O  l: s
    set(gca,'xdir','reverse','ydir','reverse','XTickLabel',{'Winter','Spring','Summer','Autumn'},'fontsize',14,'linewidth',2)
! h$ g+ y& W8 ~4 M* ]    ylim([-0.5 2.5])
+ Y0 X. Q. ~- [" ]' P! q    set(gca,'ytick',-0.5:0.5:2.5)1 P  @3 Q: K. q0 A& Q% ~* u
    ye_xylabel(gca,' ','Volume[Sv]')
$ e- O. ?. a& |0 e5 W6 f/ r' I9 z    legend('A','B','location','NorthEast')
8 e; g1 F" v9 E' _+ b   
( u% l' e! ]& C8 v
" g3 _+ K. d$ ]. C8 O0 B) p( G  a! ^4 A2 {7 j! K2 K9 J
                    
7 ]/ U3 r2 ~. [' s0 K: M2 {/ m  S* P3 K' b: O  U) {
                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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