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

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

[复制链接]
(1)画竖直的errorbar
  _; G! f. O0 ?$ D8 Z例子:- A5 X' B1 C% C* n) \, k& L
close all;figure;
. z5 b( F/ Z; }2 B& [8 \3 \/ @    h=bar(volume_month_mean./1e6);       %--volume_month_mean 为12×2的矩阵
% q/ j0 U- r% Z* N( g! l    set(h,'BarWidth',0.9);1 h4 d. a$ g* h' V1 f: }- e, \( E
    hold on;+ A  M5 Z; s7 q' E6 z' ?* Z* f
    set(h(1),'facecolor',[139 35 35]./255)    %--设置bar的颜色
: s3 ?( e$ Z1 ^1 a3 ]. D    set(h(2),'facecolor','k')
3 w5 O( y: x8 \: w: D7 z6 [
& Y: K6 O* f" ]" p7 M" G* s$ ^& F- S
, v; c& l8 u- p6 t9 Z' V    ngroups = size(volume_month_mean,1);% L. K) H  Z; b: q6 s5 j
    nbars = size(volume_month_mean,2);# @# O# D4 p5 d3 `) N( d
    groupwidth =min(0.8, nbars/(nbars+1.5));0 r1 ^( K2 T+ Q! {4 T+ h

& c1 t/ x: h- Q% ]- q4 j; b7 J5 [7 A7 x
    hold on;$ ~, t5 j$ q7 z
    for i = 1:nbars              %--画errorbar
, J2 q5 m/ h3 w/ p/ _        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);9 N9 h2 P' [6 b8 w5 N1 b
        errorbar(x,volume_month_mean(:,i)/1e6,volume_month_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);6 u) @0 Q, W( }) X
    end7 g3 u5 F: Q- a+ L9 J
    9 p8 R! u5 m* L
    for n=1:12
2 z% k) P& i. Q& E4 Z        if n<=9
, {$ _+ d! R: ~$ e* u+ ?6 ~) y            time_lab{n,1}=['0' num2str(n)];. m' D; y! Z, G; i" [& A& `
        else8 ?6 k+ _1 Z$ j9 l3 K
            time_lab{n,1}=num2str(n);
; B) P4 m; s; S+ M- \        end7 I; r0 H% C3 F4 l3 f  E7 t
    end- E4 R( ]0 O8 y1 U
set(gca,'XTickLabel',time_lab,'fontsize',14,'linewidth',2)
/ a' U; p2 \4 L0 n# D, {    ylim([-0.5 2.5]). _  f3 n8 e) E; z8 Z1 z' v) d7 x# N# S
    xlim([0 13])
9 E4 l# ^# P0 v! E* z    set(gca,'ytick',-0.5:0.5:2.5)& Z6 N3 @" E& R( c) Y6 M
   $ q/ m3 v6 B/ G6 f7 J. a/ U
5 ~% ?. F6 e: {& U
) C; N) `8 l& M( @( s( v: D
(2)画水平errorbar
+ O8 A+ z  j4 L* x# |% Z例子:# c  `* f; b" o4 o& d5 \
close all;figure;
+ j* n0 h4 Q" i' [, ~; q    h=bar(volume_mean./1e6);           %--volume_mean是4*2的矩阵
8 I! Y2 w* u; \* n    set(h,'BarWidth',0.9);) M( x) V  J1 E1 o5 O# |, A* c
    hold on;! ]2 Q$ N7 N/ o
    set(h(1),'facecolor',[139 35 35]./255)
* ~( P$ o3 \* J% m    set(h(2),'facecolor','k')
. v: N) V8 i* I* T& I' }5 |0 K4 k1 x: z8 e
. Z9 g/ \1 S9 f8 S5 u, q: w+ _" X
    ngroups = size(volume_mean,1);6 J# N0 f- J: e% l. {
    nbars = size(volume_mean,2);
- u2 a8 z6 X" T9 q- q8 D    groupwidth =min(0.8, nbars/(nbars+1.5));# v0 a- ?0 Z! ^2 X0 n

" R! N4 ~- C0 q( {. E7 }- l4 `0 r! i+ v+ T; q! L
    hold on;" Y7 ]) m% x6 j
    for i = 1:nbars
: o$ P. x6 a1 `; x9 b  Y        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);' ~7 r0 H+ f; q% w  @# S
        errorbar(x,volume_mean(:,i)/1e6,volume_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);1 Q& [/ f7 q; {; m' s& d
    end2 R5 D! W' \: K2 ^: G, i* L4 ^: \! j6 i) O

0 b$ f  R& d$ z# O1 E5 e2 m0 m7 Q$ Q! g) b7 u) J
    view(-90,90): \: u$ R# R  w1 Q9 j8 h4 V! b
    set(gca,'xdir','reverse','ydir','reverse','XTickLabel',{'Winter','Spring','Summer','Autumn'},'fontsize',14,'linewidth',2)
$ G2 l" a; n  Q0 v6 W# F    ylim([-0.5 2.5])
/ D! h6 N" c# F& {8 F5 p    set(gca,'ytick',-0.5:0.5:2.5)9 ~7 J+ C3 M5 N4 W* z" \0 N
    ye_xylabel(gca,' ','Volume[Sv]')
% B; t3 ?9 z) H. y4 K3 l    legend('A','B','location','NorthEast')
* M& Y' M( Y) C9 Q4 N. I, W* g   ; u8 X' w" O1 K, M0 ]
, a; H& @! h2 r( D6 ]( O
+ {3 L! R/ F" Y/ S
                    
$ }* b0 \4 r9 _% t7 S) P! ^1 L+ _* N+ s" Q
                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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