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

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

[复制链接]
(1)画竖直的errorbar: ]  A- |, U3 F( N" O: j
例子:: R! v% m7 j9 X: ^4 A; N
close all;figure;. Q1 Y5 W. E& M* \  S
    h=bar(volume_month_mean./1e6);       %--volume_month_mean 为12×2的矩阵6 Y+ @  a5 B) {
    set(h,'BarWidth',0.9);; O2 {1 |$ R& ]5 d, p" E
    hold on;
. b' L5 d$ n6 ]; s& ]    set(h(1),'facecolor',[139 35 35]./255)    %--设置bar的颜色
/ t: [: g( Q6 S" v( ~* k6 p4 t; M! e    set(h(2),'facecolor','k'). S% w& g  x5 V8 d

. |/ B; g9 y' L, U+ N7 H& q1 [: |! p9 O2 _# L2 ?; w$ ]. D4 @
    ngroups = size(volume_month_mean,1);' g+ b1 d! ^! Q* \" b2 W
    nbars = size(volume_month_mean,2);9 V# L* `8 o+ Z' q, \2 r; @' ?' f
    groupwidth =min(0.8, nbars/(nbars+1.5));
2 N7 _* Q) H& _: @6 e$ D
% p  Z" r8 ]! `% w) |' X) L& A' X6 Z+ R- s7 U
    hold on;8 m( V9 d) y3 P3 {4 ]& o% Q/ z
    for i = 1:nbars              %--画errorbar8 p/ @7 _3 m2 h' M' Y+ r: E; t
        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);
: P" R' [# m5 Y& L: [) S        errorbar(x,volume_month_mean(:,i)/1e6,volume_month_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);# [9 Q3 U: X1 ^$ b! [+ F8 h
    end/ [; w6 R# [7 `. k$ s3 j& }- x9 E
    : \( N3 o3 j' o) k6 a# Y5 C" C
    for n=1:12
9 _" D# m1 W5 R        if n<=9# Y( B* e$ M% B& s
            time_lab{n,1}=['0' num2str(n)];$ ]' q' ]6 N& Z* |+ h
        else! a) ^1 Q; i4 A
            time_lab{n,1}=num2str(n);
" Z$ E/ w2 r  ]# p: n( ~& A7 ~  G        end6 H# \* {( E) K6 \4 M( u
    end3 ?1 i4 x/ j( S+ j
set(gca,'XTickLabel',time_lab,'fontsize',14,'linewidth',2)
, n( E( y: |( [: S" s! x    ylim([-0.5 2.5]), R/ }0 C: g/ K9 p
    xlim([0 13]); p9 Z6 {- i8 K- S$ }
    set(gca,'ytick',-0.5:0.5:2.5)
% L: v$ B" S  N& \& f9 u4 g  C9 m* M     I( m) h/ R) H+ J+ {: k  y9 z

7 B- ^! a1 j7 K" o% R+ H" E' J% w0 Q) v9 R; G* T' P, i0 \
(2)画水平errorbar: R. u; a% c( H7 e& c+ m
例子:
; R# H, q: f8 w' zclose all;figure;
1 |! q) l3 C  t" E* m    h=bar(volume_mean./1e6);           %--volume_mean是4*2的矩阵
4 u  T( Q3 \" U1 z2 @4 n5 W2 F% [    set(h,'BarWidth',0.9);  d2 _+ d( p; b0 H* \! s4 y
    hold on;% R; _) g2 l3 g( ]) G4 {
    set(h(1),'facecolor',[139 35 35]./255)  c5 [% p2 z/ q  I% \2 K
    set(h(2),'facecolor','k')# [7 ]1 X1 s/ \2 r
! w  D3 t; v& O% {

5 L) S' r3 z3 Z; b3 J7 Q    ngroups = size(volume_mean,1);. W6 r2 C, q6 V6 B, K, O
    nbars = size(volume_mean,2);4 J9 k$ ~  g) ~8 N# |* ~4 E
    groupwidth =min(0.8, nbars/(nbars+1.5));
" Y. }4 i% Z: ^3 Q) [3 K
( \; h6 _$ N& m; v1 N" m' k+ T! |* o7 c0 e9 q' J; |
    hold on;
6 E8 n, N$ i( F" [! x2 c    for i = 1:nbars
  {  t# m5 X* I3 o        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);; x5 L0 z; V4 a, J  l* I$ ?
        errorbar(x,volume_mean(:,i)/1e6,volume_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);
2 R  ?& X% T( {0 \) H    end
9 n  b4 i" \7 u. Q6 ~9 u( T: t7 g6 d" }; y& s/ p

, t& Q& g* {* {. \) C    view(-90,90)1 |9 U, z# Z4 K# l$ C$ `
    set(gca,'xdir','reverse','ydir','reverse','XTickLabel',{'Winter','Spring','Summer','Autumn'},'fontsize',14,'linewidth',2)
) F' v2 h6 q& l# v% ]1 q- y    ylim([-0.5 2.5])
; `7 L5 u0 \3 F$ e/ }- I    set(gca,'ytick',-0.5:0.5:2.5)* Y, }; G# @/ l# \: T
    ye_xylabel(gca,' ','Volume[Sv]')
) Y+ E% J4 l8 ~) ~4 q    legend('A','B','location','NorthEast')  O" g1 s5 T/ ^+ U/ A' p& ^
   
( _' y9 n3 v9 M$ h- G6 H- c2 g/ v) P# }

; O; k% c$ R+ C# U5 S3 p                    0 Z0 O% }$ H! k2 q) x

8 W. q: m2 e+ e- F# R                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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