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

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

[复制链接]
(1)画竖直的errorbar
6 i6 }' J# m. e例子:
# M4 ]. ?' M  t7 }1 lclose all;figure;0 }$ e, |/ J0 U. l  C
    h=bar(volume_month_mean./1e6);       %--volume_month_mean 为12×2的矩阵
1 @! g5 O9 C5 g0 _' `9 ]; n7 s    set(h,'BarWidth',0.9);
# y/ C, L! h( x& F. R# i# p  W    hold on;/ z( N1 D/ d; w* B7 X8 u. \
    set(h(1),'facecolor',[139 35 35]./255)    %--设置bar的颜色. _  e9 \' C3 F8 M/ a& |
    set(h(2),'facecolor','k')
7 E/ b% D0 F& D  ?
: s3 A, i/ C7 F
% r! W' W$ p' \9 Q4 H" ]  G    ngroups = size(volume_month_mean,1);7 I. t$ }6 ]7 ~3 f* M* A
    nbars = size(volume_month_mean,2);
6 c: n0 P# i3 e  O1 w. U6 H    groupwidth =min(0.8, nbars/(nbars+1.5));
% h" Z: q, Z( w) y0 ^, X# Y, d/ P( }' v2 }3 k) m& V
9 W0 K9 w- E8 K+ F5 D4 E8 d6 g6 S
    hold on;
1 x$ w; R( E! ?5 Q4 Y    for i = 1:nbars              %--画errorbar
. G( u; B' N) G8 l: T/ m        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);+ u5 J  w9 z  R% W2 |5 H
        errorbar(x,volume_month_mean(:,i)/1e6,volume_month_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);
1 y. q5 j  r* S. G    end
2 j9 b- X4 c+ A4 }  G$ q   
, t* I# w8 L1 C- k6 S& z( l; t    for n=1:12
+ g/ x2 i" W4 ?$ T! X2 O        if n<=9
9 T) @7 B  B! a/ L$ q            time_lab{n,1}=['0' num2str(n)];* r, ~" h) N5 E6 @/ w- f( i$ [
        else
6 h) k0 u7 o. D% X2 g            time_lab{n,1}=num2str(n);* J$ _7 X8 H; `! G
        end
* ^4 }* K" P1 j6 a; c: }! g    end
8 C* }! z9 ?4 M# O$ r) [set(gca,'XTickLabel',time_lab,'fontsize',14,'linewidth',2)
# d! H; d- ]1 I$ t$ u* b    ylim([-0.5 2.5])& s% Q: Y* P5 w, R
    xlim([0 13])7 I1 z1 D* [+ V; }2 ^# a
    set(gca,'ytick',-0.5:0.5:2.5)
) H& x+ |* P4 _! `2 s& v& e/ u( O9 G   * ]3 v& |+ G+ J' I; p# _0 x) s
% P: [! l% ^# Q+ o
/ d4 R: m: b/ x" ]; V5 B
(2)画水平errorbar/ n7 {' [4 @/ _9 y* L
例子:! [/ R8 c  A  Q/ F# k( G
close all;figure;
' o7 w" H& r6 l! W) e: Y% z    h=bar(volume_mean./1e6);           %--volume_mean是4*2的矩阵
& R8 L" a/ U- V, J* w, Q    set(h,'BarWidth',0.9);
+ M. K2 n# _! m/ u, ^$ k    hold on;
' G( X4 |3 j% U/ h5 I& @$ Z    set(h(1),'facecolor',[139 35 35]./255)
5 J6 H. S' Z( h6 ^/ l8 d: ]    set(h(2),'facecolor','k')/ O; n6 J1 }0 G8 R3 A1 C& L

# |  v/ K6 p3 m+ f& v- S) n8 g# T8 G+ X# B3 s
    ngroups = size(volume_mean,1);2 J8 e  `- K( @4 N  J* o6 w1 l* _
    nbars = size(volume_mean,2);
' a; m+ D# A0 D& }2 t    groupwidth =min(0.8, nbars/(nbars+1.5));
9 W: v' U) z$ Y- |% ^) h& D  D6 W. o# C

! e! x, c% G0 N: h. ?    hold on;
% _) V  v. n4 g    for i = 1:nbars% y( ]$ S; P( F* c+ F4 w0 l2 c
        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);
1 q. `5 h1 Z/ p& l, f        errorbar(x,volume_mean(:,i)/1e6,volume_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);
! Z( N7 ?4 W$ C* j, |    end
7 D- `" C' Q9 `8 Y# k- z
8 Y4 J3 D+ s9 Z' X
% J8 \+ X) N* Y8 c& l    view(-90,90)& E- W+ r$ V, D8 E  y+ n8 r6 R
    set(gca,'xdir','reverse','ydir','reverse','XTickLabel',{'Winter','Spring','Summer','Autumn'},'fontsize',14,'linewidth',2)
: s) ?5 ^, `% G    ylim([-0.5 2.5])- x4 }& w9 Q$ f* o# ^
    set(gca,'ytick',-0.5:0.5:2.5)
8 o- w' p  Q7 c. ?8 A) x    ye_xylabel(gca,' ','Volume[Sv]')  `0 `; ~- K; a3 [9 h9 O
    legend('A','B','location','NorthEast')
* |$ l1 j4 }1 d5 l# `" z! r- ^   
; q9 L5 `" Q- g4 A9 t  o( I+ }  G% B( h( A

* L/ s. Y/ r3 ]" i2 G8 W' y, I                    
  c/ U; E) v% w" S$ h* s! w9 b
4 X* A4 Q# v1 R% |                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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