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

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

[复制链接]
(1)画竖直的errorbar
* B) ~& p/ z0 r, p例子:- _; ?3 N) J' k
close all;figure;
& D1 R* Z, X& |. U; X    h=bar(volume_month_mean./1e6);       %--volume_month_mean 为12×2的矩阵
' @8 a5 Z2 l; `9 p* J1 d# `# U    set(h,'BarWidth',0.9);1 F. ~  i0 _0 j" E& u' J- m
    hold on;
+ w! j3 \0 t/ o# k$ Y    set(h(1),'facecolor',[139 35 35]./255)    %--设置bar的颜色
: w! P2 d  `! W& {8 K& E+ x    set(h(2),'facecolor','k')1 M8 F) y# ?, ]9 R

7 c1 b# W  m4 W
# B$ [* z/ u$ a; a    ngroups = size(volume_month_mean,1);0 Y, @5 l+ M- H  v, X; L/ ^% U, D
    nbars = size(volume_month_mean,2);. P7 W9 s1 r4 L) D+ p/ f  b( m/ W& k
    groupwidth =min(0.8, nbars/(nbars+1.5));
; |; B; h" L+ }4 x0 ]& W" a- l# g" g  t5 v
& \# u/ E, i9 P- \
    hold on;
9 H2 z9 H- U8 \$ O3 W" p9 ]/ Y    for i = 1:nbars              %--画errorbar
; ~+ ]1 K7 }3 J7 C' _: h        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);
6 D) L5 a7 L- C* G        errorbar(x,volume_month_mean(:,i)/1e6,volume_month_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);9 k- G. C# A& R$ m1 F' ~
    end
& }, o$ c$ T- e; v/ e& v! A    3 w' W2 z+ Q3 `+ r+ A% D; B
    for n=1:12! f8 Y. u. ^5 H, x2 J. S& _
        if n<=9% P4 ^1 y: ?. i
            time_lab{n,1}=['0' num2str(n)];1 _9 [- G: a1 l0 E! d; a, X1 W# y
        else
0 I. ~4 S. ]' G6 p- Q' x/ c" I8 U            time_lab{n,1}=num2str(n);( S) b, K0 @  M9 N
        end
7 r+ Y- f! H* |# a& I    end9 P" i! Y1 {$ ?
set(gca,'XTickLabel',time_lab,'fontsize',14,'linewidth',2)5 A' q' K3 d* o: f
    ylim([-0.5 2.5]); p- W8 ]# E5 E7 x3 F  H
    xlim([0 13])' ^8 S& U4 q+ \6 @: A
    set(gca,'ytick',-0.5:0.5:2.5)" v& O+ l. Q0 J& m6 E* ~
   
- g  ?4 O+ ~5 y) M/ U" x* e: Y+ o( k: t5 T$ J  c9 W. I

* `; X# g# X" J& S- U(2)画水平errorbar& }* q, h# |5 D; n; `& [/ n) @& f
例子:
9 P. `8 \" h. uclose all;figure;! }, j3 L0 e3 C+ P
    h=bar(volume_mean./1e6);           %--volume_mean是4*2的矩阵5 M9 u7 j1 v+ a
    set(h,'BarWidth',0.9);
! G6 f# v2 ^; t) W4 @% M    hold on;
1 z1 c0 O8 N5 ]3 j7 T# }    set(h(1),'facecolor',[139 35 35]./255)
& ?4 |  T" Z- W, D8 s0 l2 c    set(h(2),'facecolor','k')
: `% p, P! B; M1 N& r6 U% P/ \

( t9 S- B3 v; o% y. H( u    ngroups = size(volume_mean,1);
8 m  }$ k' Z+ m1 ^    nbars = size(volume_mean,2);- S8 j, L* Q( C
    groupwidth =min(0.8, nbars/(nbars+1.5));
2 f9 r7 B% Z$ h  Q
' X) F5 @4 q  [& |5 V
, [  u+ |5 N! l    hold on;0 o# j" Y6 z- V8 o  a% H
    for i = 1:nbars3 \$ b( T( F  B2 x; F
        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);
. y, y" ~. F* N        errorbar(x,volume_mean(:,i)/1e6,volume_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);
, G' r1 y  G% O" k9 q    end# d4 X" V8 i2 Q/ C8 k

+ p5 C& D  U( x! R: ~# T$ c" m" k# |- ^) U, G
    view(-90,90)
8 b2 z9 A1 A1 o- v, B    set(gca,'xdir','reverse','ydir','reverse','XTickLabel',{'Winter','Spring','Summer','Autumn'},'fontsize',14,'linewidth',2): n7 C. Y8 F" a) p3 p! S
    ylim([-0.5 2.5]), D' A# m- @; F; c# n# Q5 k2 Y
    set(gca,'ytick',-0.5:0.5:2.5)
) ?6 {# T0 _( x; z, I% p: n) G    ye_xylabel(gca,' ','Volume[Sv]')
# C/ H# ^% q7 r: s3 `    legend('A','B','location','NorthEast')- S2 `9 i+ w# Z& m1 C! G
   3 v! L# G9 w; V: n, H: z) [

: u3 s! P, b/ s, Y* y9 x3 Q: ~/ V& e7 Y
                      C. {1 C. Y' h& i( @* D' m

2 \: W0 v' b0 c4 o% K                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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