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

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

[复制链接]
(1)画竖直的errorbar
* U) M! k5 u; c; S% j3 v$ {7 _& F例子:
+ J: I3 S% L7 Q& R" [close all;figure;
2 H7 Z* p% E% a3 x  L    h=bar(volume_month_mean./1e6);       %--volume_month_mean 为12×2的矩阵$ n4 V/ e, I# v% }) i, q+ c# I
    set(h,'BarWidth',0.9);
( t$ a6 f) t" R% N( M% O    hold on;
9 g: Y1 o7 a6 x1 g' X7 ?    set(h(1),'facecolor',[139 35 35]./255)    %--设置bar的颜色" ~, H% L4 P1 Y: p
    set(h(2),'facecolor','k')9 B% d: R$ ^* H9 ^; R' e- g, o
, [) R! r: _& Q' \
' L2 q/ F, _4 a) e$ f  O; [! H, Z
    ngroups = size(volume_month_mean,1);
/ J8 x- B# h, Y4 ?/ h1 F) a    nbars = size(volume_month_mean,2);" d1 b+ g! ^" V5 X4 j: I
    groupwidth =min(0.8, nbars/(nbars+1.5));% _, H; [# o% v8 Y

  ^( C% N% }1 m2 Z
# i, d0 G+ I7 G+ u/ ]; I    hold on;
. I: N! M4 [0 {# P* z    for i = 1:nbars              %--画errorbar* y+ V2 ~& Y* A; w: g
        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);/ ~% n. b* H2 M; T* M
        errorbar(x,volume_month_mean(:,i)/1e6,volume_month_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);! }) s9 ]* w: L; d' T
    end
3 i$ N, F# R5 }6 A* m" T   
0 K: e. P- _. t) Q, s) V2 w# T    for n=1:12& B$ j" E/ K; M$ l' {0 k
        if n<=9
0 }& Z3 a5 ]4 w% Z* w            time_lab{n,1}=['0' num2str(n)];
0 \4 N. K: a" k9 M2 p7 H2 _        else
9 k( y9 t6 N  A  b  y3 q            time_lab{n,1}=num2str(n);, }8 L$ B3 ]) |' O/ q; R
        end
1 v/ J$ K9 w6 B, P& R" B    end
5 P3 C; I! V3 F# k4 b2 z$ [8 cset(gca,'XTickLabel',time_lab,'fontsize',14,'linewidth',2); p& h# `9 r3 l5 v& L
    ylim([-0.5 2.5])9 C5 I7 A. y$ K  Y+ A
    xlim([0 13])
( O' [3 u: J' \/ _    set(gca,'ytick',-0.5:0.5:2.5)' ]" ]  p: `( M4 o  L$ K( I; o
   1 h: k1 k3 d! e8 I' l0 A( m

# ^6 c# `- Z6 W: n/ j
6 B! Q# ~% w8 N2 G+ N(2)画水平errorbar+ u( d- Q5 r' e$ B
例子:  t; n; j/ {% U0 ]6 f
close all;figure;3 p# g" s  q5 F- l2 R2 P( t' n9 p
    h=bar(volume_mean./1e6);           %--volume_mean是4*2的矩阵
3 L2 Y% p, D/ M2 Y    set(h,'BarWidth',0.9);# d5 s/ ~7 w1 ?
    hold on;. d* V) ~3 ~) Y* j7 E
    set(h(1),'facecolor',[139 35 35]./255)
% F+ x/ S" ~1 O+ ~4 @' M- V% U) N    set(h(2),'facecolor','k')) P, g, g. c0 o6 w$ `

& f9 Y- e  C+ @9 `$ h6 P# d- X; F  X4 O3 Z( B6 A; Y
    ngroups = size(volume_mean,1);
; c: R7 _0 _3 u8 Z0 u    nbars = size(volume_mean,2);* k/ u0 v' C4 x9 d3 a( f
    groupwidth =min(0.8, nbars/(nbars+1.5));6 `) A, V7 z% @6 P& w4 i
4 R8 g7 g( Y# C) Z( ~

& B3 p0 k: E0 c% q4 D    hold on;
& q9 {  @/ J! x2 k7 ~' U: G    for i = 1:nbars
3 |3 q- h5 M8 n6 m/ M" I/ o        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);
* S- a* h% y; S        errorbar(x,volume_mean(:,i)/1e6,volume_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);
: O6 r0 [" i; S    end4 O$ I  A2 F. y2 N- C6 p

" B" z8 l6 Q4 {) P
8 {& T  Y9 h& e* m    view(-90,90)
4 y, p" E$ K2 b6 j# ~+ R    set(gca,'xdir','reverse','ydir','reverse','XTickLabel',{'Winter','Spring','Summer','Autumn'},'fontsize',14,'linewidth',2): _( t) V# ~. z. U4 \, }1 q3 j
    ylim([-0.5 2.5])$ ]5 q2 l3 O/ {) z( w5 [- s
    set(gca,'ytick',-0.5:0.5:2.5)
3 x; k! y4 j/ _* g7 b& i# K! j1 d    ye_xylabel(gca,' ','Volume[Sv]')
- v! M- k% z$ X2 X1 \8 b% t3 A    legend('A','B','location','NorthEast')1 g0 o* a/ O1 ~- ]- x+ I3 A. |! ]
   
/ {/ I6 \: ]/ B% z4 k9 V
$ _* }- q+ |5 U1 ~5 X2 m4 ^0 \1 l- ]' @
                    ' M, ?2 k6 ]; A6 K( `- @$ Z
/ T* p7 S9 Z7 b- d8 P" ]8 f/ t
                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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