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

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

[复制链接]
(1)画竖直的errorbar
% x2 D2 _9 @3 ?: p  x例子:9 P6 g" Q! x4 M3 Z" U
close all;figure;
& V& W' N" Y* ~    h=bar(volume_month_mean./1e6);       %--volume_month_mean 为12×2的矩阵* R* H: a# {. u& n
    set(h,'BarWidth',0.9);/ a# _$ v% I) m$ W  M
    hold on;
( s% g7 }+ M; W: x    set(h(1),'facecolor',[139 35 35]./255)    %--设置bar的颜色
; j- }, ~3 k( c1 j7 D3 ]    set(h(2),'facecolor','k')
- o) N+ V7 R2 ?7 m* ^8 @+ L5 m2 K1 e8 E  I' m, s- y
* p5 f8 ^  E( _+ ], D2 _
    ngroups = size(volume_month_mean,1);; a- Y( S- ^, N3 d  i
    nbars = size(volume_month_mean,2);1 ]3 J1 G- l0 s1 @( @! k
    groupwidth =min(0.8, nbars/(nbars+1.5));
$ H) c9 Z( a$ M- |$ W, C7 _* x$ X  t  ?: ~
1 d% \# W8 ]7 y7 u
    hold on;- \" i9 ]' f, `2 w$ ?
    for i = 1:nbars              %--画errorbar4 x( G  ]0 ~' e6 G9 z; Q! R
        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);" c& J/ l8 U* s
        errorbar(x,volume_month_mean(:,i)/1e6,volume_month_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);
3 D0 X5 |, b4 o    end
8 a  R+ g+ P! C; w& H7 X* C; W; ]    3 Q* ]9 N0 B5 z9 m2 J1 x7 M7 I  F
    for n=1:12# F- U! M+ a# P$ y. I( ^1 F2 N
        if n<=95 S  \2 E8 u# i
            time_lab{n,1}=['0' num2str(n)];$ ~0 u3 S: [( x7 @, E& F8 ?
        else
( q3 y" {+ z! u" V: @. Q            time_lab{n,1}=num2str(n);
6 H, M' m3 z3 S( p7 P" V) ~$ E. _        end& a- |0 C) h/ E; _' p/ s$ _
    end
$ k9 j0 a7 Z, p2 R' F' F. ?3 Lset(gca,'XTickLabel',time_lab,'fontsize',14,'linewidth',2), V, h" q  u: }. B2 c1 _
    ylim([-0.5 2.5])0 U5 V% J9 S4 P. b
    xlim([0 13]). l3 W: D: _4 l5 o
    set(gca,'ytick',-0.5:0.5:2.5)
, k9 Z( h! O, ~7 L- a   
/ `$ x1 k  h4 c  W0 E0 J" u7 \6 c0 ^

# m1 x6 c2 S/ _. \$ j(2)画水平errorbar/ c' D- F( |! y* q- Z6 M) t/ P
例子:
/ s; d7 r7 L: a; `% bclose all;figure;2 \# W" S6 b! f$ K% o
    h=bar(volume_mean./1e6);           %--volume_mean是4*2的矩阵/ q2 U8 B2 j+ ^: Q! o- Q% l: M
    set(h,'BarWidth',0.9);
4 a( a5 w& G. ]. |    hold on;6 w: K$ T" J/ c
    set(h(1),'facecolor',[139 35 35]./255)7 v1 A# H& M# K6 `- z' Z# L
    set(h(2),'facecolor','k')
* d2 [5 A! n8 X& q: U( o+ X0 I% M: C7 g* L, M# D0 j, X
2 V) p/ Z7 t$ u+ ^" z+ |3 |
    ngroups = size(volume_mean,1);
) x" j8 t: K( i7 E4 P0 C. l    nbars = size(volume_mean,2);
" d* A4 @( J4 k, F- O  u    groupwidth =min(0.8, nbars/(nbars+1.5));
4 V4 J3 h7 ?8 `" O2 ?1 t
* Y) B; {  a; l9 p  y$ O# Z% ^
    hold on;$ {& q4 ~  J. M% {
    for i = 1:nbars
: B3 v& E8 b7 Y+ F" `! C8 ^) U        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);6 G) ~: e3 p; i8 Z( `+ E# L. @
        errorbar(x,volume_mean(:,i)/1e6,volume_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);
9 }& k6 l6 z0 V5 Q    end2 j# t0 t6 o) S; P! ~8 L! q
# ^4 ~. v2 ]" X  u4 o/ f

3 J0 v6 ~2 M* X, e( J    view(-90,90)
9 p# u( {7 F6 p7 w7 i" B) \    set(gca,'xdir','reverse','ydir','reverse','XTickLabel',{'Winter','Spring','Summer','Autumn'},'fontsize',14,'linewidth',2)
1 g" N. m  v7 ~6 c    ylim([-0.5 2.5])" E6 `0 p7 g* z, n2 O1 Y
    set(gca,'ytick',-0.5:0.5:2.5)$ Q0 C; x# b# I8 D/ e& G7 O- Y
    ye_xylabel(gca,' ','Volume[Sv]')
9 y8 N0 d6 Z* u$ k$ U6 L% V+ P1 `    legend('A','B','location','NorthEast')8 a5 S5 g9 K) U/ X' ]6 D1 X2 ?" s
   
. @2 S" Q5 O9 e- a7 \0 E& _" v( O1 n( ^' Q  _" m
/ S: U8 o. X. S: d( L
                    2 k, B! p8 r; t) l! q1 K

. K+ N) c# o: H8 Z; u                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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