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

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

[复制链接]
(1)画竖直的errorbar( S* f: W, M2 f
例子:
5 C9 j# k" ~9 @; F  Q% ?4 P0 j5 ]5 Aclose all;figure;
( U# y- s+ X1 D! T    h=bar(volume_month_mean./1e6);       %--volume_month_mean 为12×2的矩阵4 U# l3 D* b8 s! ^( N1 i, z
    set(h,'BarWidth',0.9);* i7 k5 B" {& [& O( w0 e3 T2 `7 o
    hold on;
% p1 R9 l. M' ]( z  F. E! b    set(h(1),'facecolor',[139 35 35]./255)    %--设置bar的颜色
9 V5 O+ e* ^& j" r- a; z) {    set(h(2),'facecolor','k')
3 X8 I: Y9 y# J* ]1 i7 c$ u/ x1 U  u
9 R" S" Y0 L4 `7 r$ y" @
    ngroups = size(volume_month_mean,1);
( ~% Q! q$ ~+ K9 U& M, X    nbars = size(volume_month_mean,2);
+ [) D+ W  ^' m. z    groupwidth =min(0.8, nbars/(nbars+1.5));0 n% \' Y9 E) U0 A

5 ]# `. [; W# [+ H1 B- K7 t; k/ u( x1 u& {
  S; C  e4 J5 _' g; _6 ^    hold on;
! a- u9 Y: m+ @8 S( q    for i = 1:nbars              %--画errorbar, m% H4 U% v$ ]1 W
        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);. r! s% i- `6 E2 a) o
        errorbar(x,volume_month_mean(:,i)/1e6,volume_month_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);. b+ D  l& p* K# ~  F1 T- @
    end
9 Q3 Q" u2 |3 J4 q4 z   
2 T- O3 Z- @- Y    for n=1:12
7 e  \0 [+ s  z# J% j" o, J- n2 S5 G        if n<=9
% p# K. [( p1 [$ p            time_lab{n,1}=['0' num2str(n)];9 u! @# {9 s% z6 t, f
        else8 ~% o/ F( Y9 M) D/ K5 `5 \
            time_lab{n,1}=num2str(n);
7 _) K% X+ v' m9 R        end9 t7 s+ f7 w# N
    end& W, l' E/ Y0 I9 X. @8 g0 t  v
set(gca,'XTickLabel',time_lab,'fontsize',14,'linewidth',2)
9 T' H0 u6 \2 Y- a, D5 a+ o6 S5 _    ylim([-0.5 2.5])
4 E$ `4 G" {4 J: @) ?8 @4 I    xlim([0 13])( p$ F4 y+ n$ R8 z
    set(gca,'ytick',-0.5:0.5:2.5)' {2 z/ Y+ s$ U3 ]$ O7 l+ {0 @
   
- J; f; Y. c2 `6 l# `4 e# n
2 ^+ c3 D) M. T6 j- T) {2 u5 X5 H" v- m* p$ g* z4 h. L
(2)画水平errorbar- e; K* f# l; r8 I  u
例子:
6 v( B! D2 c) ^" [, qclose all;figure;6 Z+ w, k- i( _4 I* y7 |
    h=bar(volume_mean./1e6);           %--volume_mean是4*2的矩阵6 S/ @5 i3 W% \3 e& w1 B" d1 u
    set(h,'BarWidth',0.9);
- X4 f6 O& O) ^. t- L1 Q  e& ~. M- J$ T    hold on;
- {' |, o! m' p! E$ S$ ~$ h/ s; c    set(h(1),'facecolor',[139 35 35]./255)5 K6 ?; `6 P" m* |
    set(h(2),'facecolor','k')2 ?+ a$ z' _  }# T( F+ D* a: A
! j6 ^% T! ~! D2 F" F

$ z% I+ }. \3 E    ngroups = size(volume_mean,1);
& v* R5 R) S! j4 y2 V7 J# E, f    nbars = size(volume_mean,2);
  B' [7 g1 N0 H* s; Z5 _' F    groupwidth =min(0.8, nbars/(nbars+1.5));7 w, v- I- N/ w6 D# y$ S

; e. Q8 _/ @3 D3 X7 q4 ?0 f9 y: r- L5 c$ c% W$ |" a+ K' I
    hold on;/ ], t! m0 \; E, V) u  ~! \
    for i = 1:nbars
: Q+ b7 }8 [- @        x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars);7 ^0 |0 c8 l5 ], a
        errorbar(x,volume_mean(:,i)/1e6,volume_std(:,i)/1e6,'o','color',[.5 .5 .5],'linewidth',2);
- C0 J9 x$ A; H    end
& S: Y4 J$ n: u5 I+ X9 M; W& i1 k! f1 `8 U+ B' i/ [
; @+ }9 u8 r8 ]( P* J/ v! K
    view(-90,90)+ S; Y" G' ^8 W# b5 B' ~& z+ m
    set(gca,'xdir','reverse','ydir','reverse','XTickLabel',{'Winter','Spring','Summer','Autumn'},'fontsize',14,'linewidth',2)- Z0 e# H3 ^" `8 T4 R# `0 s, E
    ylim([-0.5 2.5])6 C. E: r( {0 k8 u1 \+ l9 ~
    set(gca,'ytick',-0.5:0.5:2.5)
/ }' G' N; j7 S# U    ye_xylabel(gca,' ','Volume[Sv]'): |) I: j1 j# ^+ ~; `
    legend('A','B','location','NorthEast')5 H/ n- c5 T6 Y( i7 H0 _
   
+ P; w, c; H2 w/ j! \1 ?$ x4 C
& t2 P9 u/ w, D3 r& r8 Z$ h: r6 b, y) q9 e) ~
                    
2 E. @3 c6 I2 q+ ]7 r' h& p5 D% h; q  O
                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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