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

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

[复制链接]
(1)画竖直的errorbar
$ T( i, H: X4 T. r3 b例子:
. ^1 W+ l: b: r1 Z! q  ~close all;figure;6 W- ?- D0 W$ f, M% Y4 O
    h=bar(volume_month_mean./1e6);       %--volume_month_mean 为12×2的矩阵
( q+ s* z. U7 j$ ^6 u* g    set(h,'BarWidth',0.9);
6 P$ w( `1 Y: ]# u3 r6 k    hold on;3 P: b' j6 w2 s* X# ]( f0 [& b
    set(h(1),'facecolor',[139 35 35]./255)    %--设置bar的颜色. ?1 P3 J6 B/ k) e+ A
    set(h(2),'facecolor','k')
. @, w, a( p; h: Z8 l: `3 V# n1 l. `' y. {
% r; U7 ~; C  w$ J0 u7 }3 t& @
    ngroups = size(volume_month_mean,1);3 O/ k. S) F9 r
    nbars = size(volume_month_mean,2);* y% S: Q$ t' F! Z* k" @
    groupwidth =min(0.8, nbars/(nbars+1.5));& z! r9 |& |- {% P6 a

- j+ [& z' W1 q+ [8 [+ L( \; s: p! r7 q
    hold on;( x! ~' K# [- I4 l& r# W$ @, n/ }- {
    for i = 1:nbars              %--画errorbar$ H1 [) o' S/ E8 e7 @- {# a9 I
        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);, E+ z# E1 S# r, q3 @% O8 O
        errorbar(x,volume_month_mean(:,i)/1e6,volume_month_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);; @1 f  @! ?! u& N
    end# {1 Q: {; ]' _" n9 J
   
2 s1 t" N5 g2 s+ W    for n=1:12! \  z; j* h/ U+ M
        if n<=9
/ z4 U9 C: Y& a- P            time_lab{n,1}=['0' num2str(n)];
/ F9 c  W. P$ h. T2 M( J$ p        else
5 ~/ A' O( c& z/ P. r3 V2 D8 m3 T            time_lab{n,1}=num2str(n);9 d/ V9 I6 k8 X1 C7 p( X  ^9 b
        end
4 G3 a* B- P, e4 `    end
, f+ T( D* ^0 f# t+ Y- q# M1 Q) i9 Lset(gca,'XTickLabel',time_lab,'fontsize',14,'linewidth',2)
: m9 r) z: I0 ?1 O- \    ylim([-0.5 2.5])& Y* m7 J+ S6 I$ I- ~
    xlim([0 13])
( b) m& [  [! t1 c& X9 Y4 z    set(gca,'ytick',-0.5:0.5:2.5)
" a! A, u  n5 b* V% L" u   
+ K- G& C8 R0 u! o
/ a8 i  z& D2 z& b( _. L' w- n5 F% b! B# T# N2 z. c  b
(2)画水平errorbar
+ i2 k7 u) S8 P# {/ l2 S例子:
$ F- k4 o* u1 Bclose all;figure;
$ u* R; p  J0 s7 i* i( ]    h=bar(volume_mean./1e6);           %--volume_mean是4*2的矩阵1 U( T0 |% }' r: _  t
    set(h,'BarWidth',0.9);$ W# z2 \/ }+ T* k, C$ j* L) A
    hold on;% g  K; X& H$ c* O0 s+ _( A' w
    set(h(1),'facecolor',[139 35 35]./255)
, M; r4 E6 ^6 Z, N: w" f    set(h(2),'facecolor','k'), x/ n; ^$ m; S# f

9 v3 Z" k% ]4 p$ ]7 e! m, y8 a; J
; I* q& P! t" c( Z* U! l6 v4 J    ngroups = size(volume_mean,1);
# M0 @# j6 l* G' E: B* N    nbars = size(volume_mean,2);4 G! d! F* T$ @% w$ w0 {" r& k) E
    groupwidth =min(0.8, nbars/(nbars+1.5));
/ C5 f& r) X- }% X: r; O/ _8 u5 V7 a, g( @; w: z

3 _0 r% ]3 ]! a. _, e( s    hold on;" O# ?- u  N0 J3 B' ^" ]8 H
    for i = 1:nbars; K; U% \( D9 R0 A5 w
        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);
1 _: ~: g" D2 X% c% a; |        errorbar(x,volume_mean(:,i)/1e6,volume_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);+ U9 Q& k9 I% B& k* o/ z" D9 B
    end/ m$ {/ R! J9 Q) N
; L# N2 I/ @8 \, {. Y9 {

6 N3 w6 M! G0 w: t; e- ]% f    view(-90,90)7 f% ]3 A6 a- R8 ^* Z% w3 E
    set(gca,'xdir','reverse','ydir','reverse','XTickLabel',{'Winter','Spring','Summer','Autumn'},'fontsize',14,'linewidth',2)8 R; h3 k. @2 P" y
    ylim([-0.5 2.5])
4 u  S; M' ?( y7 o3 v    set(gca,'ytick',-0.5:0.5:2.5)6 I1 H# P4 P7 f
    ye_xylabel(gca,' ','Volume[Sv]')
# s# h6 O/ e- E: i) \    legend('A','B','location','NorthEast')
# Z" @' M3 Y) ^   ! y7 t- l2 A/ T4 A
$ R3 Y; i+ J* x! a$ S
5 k- Y/ s" i& p2 `# H. [* x8 i
                    & w6 ^& F$ q. k9 S; R# E( I. _

. v3 n* y  i0 h$ ^% o. Y                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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