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

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

[复制链接]
(1)画竖直的errorbar
4 w. b* s# w, G) r5 ?例子:
& x' o7 _# O+ B6 D- Eclose all;figure;9 a4 w3 T) B; Q3 W# b; N+ n3 I
    h=bar(volume_month_mean./1e6);       %--volume_month_mean 为12×2的矩阵, ?/ t; @5 ?) `3 B, d5 p
    set(h,'BarWidth',0.9);" {+ l5 g5 m2 Z2 l2 Z1 c  z
    hold on;
; x: ~4 @8 H- g6 Y6 f    set(h(1),'facecolor',[139 35 35]./255)    %--设置bar的颜色2 H* I% e( w$ J$ }, y3 f9 {! ]
    set(h(2),'facecolor','k')
' U" `  S1 m7 o$ e7 `( _7 G' b1 g+ P' Z
: o+ v7 i& r7 ^
    ngroups = size(volume_month_mean,1);2 @. Y9 k; j' q9 T2 H( C
    nbars = size(volume_month_mean,2);
6 f3 e6 J/ B5 J1 n0 r+ b9 j) W    groupwidth =min(0.8, nbars/(nbars+1.5));
5 t& ~  O3 R" Q+ }& @3 o4 [0 _& d& J0 `- Q, Q: w
) g9 z& v, ]! q9 u  U8 Y4 v
    hold on;
8 I7 y3 H( }! I% ~4 Q4 l. \- v    for i = 1:nbars              %--画errorbar) d( B' r0 R7 f
        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);- o$ H: C: m* m& N' y# [
        errorbar(x,volume_month_mean(:,i)/1e6,volume_month_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);) C( i1 C/ U! @* E, p
    end  Z; X9 `4 Y1 K
    ( L. ^9 |! J) U- w/ b
    for n=1:12, K7 E! C4 V% ]! H+ I$ j
        if n<=9
% n' `. h  V% N, q            time_lab{n,1}=['0' num2str(n)];' P: h9 o8 J. z' ^! _8 m
        else
' |" X- x1 o* H            time_lab{n,1}=num2str(n);6 H7 ?" n' \1 E: t! x
        end
$ }/ \' q$ @9 k0 U# F( F    end. q+ Z; ~7 B5 M5 j1 q% s1 `5 b- s
set(gca,'XTickLabel',time_lab,'fontsize',14,'linewidth',2)
, [" G* G7 r8 Z  j6 V    ylim([-0.5 2.5]), P5 j3 V( X4 l
    xlim([0 13])
9 _. L  Y( {8 T+ F0 ^: \$ `: r    set(gca,'ytick',-0.5:0.5:2.5); G; f% {( f. i# |. N
   
8 j) }8 B# P; v5 I* j3 |: O: _5 x! F( M, v8 e' b9 g+ C
- @. J& |6 ^" }( l
(2)画水平errorbar
4 g% E* G/ z+ ]* E+ P/ \( n' S例子:: n$ Y; E2 F$ X) Q
close all;figure;
# H: E" m$ v/ z' B. H; U    h=bar(volume_mean./1e6);           %--volume_mean是4*2的矩阵
: E, o% M: b0 G    set(h,'BarWidth',0.9);
; I# Y! a& i" a. G) @& o    hold on;" ?4 [! I5 H9 _0 P
    set(h(1),'facecolor',[139 35 35]./255)
/ t- H- k; {" W% a    set(h(2),'facecolor','k')
7 e" u, X& ?8 e% K
9 q, m: m- C9 ?, }0 B' J, E$ W
5 j) U! ^" P# o# h    ngroups = size(volume_mean,1);
# N4 k8 t. Q% V/ \* G+ F6 H    nbars = size(volume_mean,2);; o; Z: Y, M6 ~, h4 z
    groupwidth =min(0.8, nbars/(nbars+1.5));* ^( O6 c9 ~6 s6 K9 G& ?
4 C3 |# ~- Z( V" N

1 v+ V* c) ~1 U/ t( X7 [    hold on;5 C3 ?# R7 D8 S& G% G; B/ ^& L
    for i = 1:nbars
6 Q1 H0 Z. U+ q0 y. x        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);: V: D  j4 [# p
        errorbar(x,volume_mean(:,i)/1e6,volume_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);0 L. w" T2 X, d: @8 j# I
    end
0 |  M9 G1 ]6 n5 V# T% Y+ j8 B" `% V8 G. B' M
$ K9 R& ?( V4 A; B" V' q; n
    view(-90,90)
( G- \2 b& U# ?/ H9 C    set(gca,'xdir','reverse','ydir','reverse','XTickLabel',{'Winter','Spring','Summer','Autumn'},'fontsize',14,'linewidth',2)7 i. [6 b4 T; Z7 b" w$ f& @! q
    ylim([-0.5 2.5])+ l, X0 f8 d8 p8 v; S5 I$ i9 k1 I3 ?
    set(gca,'ytick',-0.5:0.5:2.5)
) h# `9 }6 w. ~: Z2 D    ye_xylabel(gca,' ','Volume[Sv]')
" r' b3 F6 g' r+ A; V, T  o4 ^    legend('A','B','location','NorthEast')9 I! V; t; J1 Q' L! p5 S
   
+ T! r7 ~/ I; ]3 _; h! Z( A3 d/ i/ k+ b" G; F* A+ }
# N. F( N! S/ o& P
                    
0 P9 `  B  {% C" R0 D5 _
6 j2 _3 Q% ~) }                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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