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

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

[复制链接]
(1)画竖直的errorbar
8 \0 w! b+ n* X, n# H例子:
7 H8 \" z' T! J4 ?close all;figure;- Z2 l# C+ \, [; Y
    h=bar(volume_month_mean./1e6);       %--volume_month_mean 为12×2的矩阵
! k2 u/ }' [8 s  k9 u" ^    set(h,'BarWidth',0.9);1 ?( q9 D6 `  ^; K
    hold on;
  ~, y: [9 `, Y) g* Z$ Z% M    set(h(1),'facecolor',[139 35 35]./255)    %--设置bar的颜色
) K+ O, h8 U" c  g) C    set(h(2),'facecolor','k')
8 T; e# Y8 h5 t1 L- s& i$ `2 y/ u) y1 T8 V5 {/ N/ o
" F% H) N  V  T/ q
    ngroups = size(volume_month_mean,1);
$ W" r4 E) J  c( z0 V    nbars = size(volume_month_mean,2);  E3 d8 {) [+ S) D# b
    groupwidth =min(0.8, nbars/(nbars+1.5));
2 _8 K5 [4 {" X: I* V* H! s0 [  n& V7 s' ^+ Z
: u) W0 \: ]( Y8 s" c. V9 G
    hold on;9 \, A, s0 O, S0 h! p) q
    for i = 1:nbars              %--画errorbar
8 A4 }  E) Z1 p        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);$ G1 k3 V# a9 b
        errorbar(x,volume_month_mean(:,i)/1e6,volume_month_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);
( _& j3 E' c7 Q& O. t    end1 H6 x2 k: X: G$ d0 f8 X3 v: O
   
; W- a2 m, V6 t" [6 o% O    for n=1:12
8 w7 _7 L) n$ ?- z, E- g        if n<=9
8 m# g# u9 n# l* R: [( M* n            time_lab{n,1}=['0' num2str(n)];& S5 J' b- X. \" f) p2 S4 O
        else
! u5 i( i1 y9 N0 @            time_lab{n,1}=num2str(n);
6 z# M( L" J6 \6 X        end8 G" q/ q# |; H; c0 U' \
    end$ @" ~/ r, }9 c% V$ B7 T  \
set(gca,'XTickLabel',time_lab,'fontsize',14,'linewidth',2)
/ S6 I% F, p( }    ylim([-0.5 2.5])
; j0 @# v% m0 u5 o( J9 q* Q    xlim([0 13])
6 {# E5 z: C3 i9 Y7 e7 C) B7 ]    set(gca,'ytick',-0.5:0.5:2.5)
+ u$ G2 S( }2 F- {   . K8 ?+ }: X4 i7 M
0 j1 e" p( t5 a
( z7 w  Z) R0 {. Z5 ]7 B' P
(2)画水平errorbar
9 {' Z9 K& |7 u: J例子:& m& K& M+ t8 A, n7 ]+ o% _6 y( S. ^; J
close all;figure;
9 `) q$ A; W* U. u    h=bar(volume_mean./1e6);           %--volume_mean是4*2的矩阵$ k/ U; S! z6 ~6 z. l- }
    set(h,'BarWidth',0.9);
" _  i4 v# L- N; `8 V0 u7 f5 J    hold on;
; j& n5 v; L. W  \% o, y5 V: B    set(h(1),'facecolor',[139 35 35]./255)8 a; u7 y2 W" D7 B* c
    set(h(2),'facecolor','k')
( u6 y9 a& Y! J! d% m4 h. s' A  Y% F+ g! ~' X  ]! {7 N0 V* X7 J/ t
! }+ r. F0 R9 H
    ngroups = size(volume_mean,1);! B/ {! z/ |' {
    nbars = size(volume_mean,2);% Z4 K; g( `. F3 Y
    groupwidth =min(0.8, nbars/(nbars+1.5));
1 w; K2 {+ D9 Y" c6 H
$ O# }% E- l- C; \% ]9 I& p" V
, @8 ?/ ?1 F7 X1 f! V) j  h    hold on;' F0 X# J" H* X" s; R8 x
    for i = 1:nbars' M* V/ R6 {; y2 n! t
        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);
& W7 L$ t; x2 }9 |2 b) o2 O        errorbar(x,volume_mean(:,i)/1e6,volume_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);" `/ O) T2 f  D4 k: j& [  |
    end& s5 x: T- }3 S  i% Y/ o0 ^6 Z

) J  H& {8 W; `" I9 [2 Z$ t" p2 M+ E) m; b
    view(-90,90)
% _5 Z( i  P/ {) k; C8 V* z% I! V    set(gca,'xdir','reverse','ydir','reverse','XTickLabel',{'Winter','Spring','Summer','Autumn'},'fontsize',14,'linewidth',2)
+ u1 y# r8 W- i% r- u    ylim([-0.5 2.5])
) H% ]; o& ?/ s1 C: c* d0 G+ F/ a* |    set(gca,'ytick',-0.5:0.5:2.5): x) y2 W; c% p7 N+ q
    ye_xylabel(gca,' ','Volume[Sv]')
; b/ _: s9 c5 J3 ~1 J    legend('A','B','location','NorthEast')
0 d8 R* N3 k: E* r2 D   
# e7 k" q6 @$ x6 g% P2 y. s, u4 U" f* q+ ^

; J: J# e8 t. G4 k7 T+ S                    $ A% P  w0 ~6 B7 z: `  I; p- q0 ~

( M  }3 o8 v2 z$ W0 |$ \  F* J                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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