• paper 39 :Matlab绘制误差棒图(errorbar函数的使用)


    同很多非数学相关专业的朋友一样,我第一次碰到这个图时也是丈二和尚摸不着头脑。只知道这个工字型的图案,中间的点代表的是平均值,上下的两条横线代表的是方差值,除此之外,连这个图叫什么名字都不知道,只好硬着头皮在百度里输入“matlab作图中间是平均值上下是方差”或者“怎么画图:平均值和方差在图示中表现出来”之类搞笑的关键词搜索来寻找一丝蛛丝马迹。在阅读了很多文章之后,慢慢的才确定,这种统计学上常用的图叫做——误差棒图。

        为了给后来者们节省一些时间,在这里我对误差棒图的绘制做个总结,举几个例子分析下可能出现的情况和错误。

        首先我们假设一组数据:

        A地1-6月份降雨量的平均值分别为12、11、7、7、6和5,各月降雨量的方差分别为0.5、0.4、0.3、1、0.3和0.5;

        B地1-6月份降雨量的平均值分别为10、8、5、4、3和3,各月降雨量的方差分别为0.4、0.3、0.4、0.6、0.3和0.5;

        Case1:绘制A地的降雨量误差棒图(绘制单幅误差棒图)

        Program:

           Average=[12,11,7,7,6,5];  %各月的平均值
           Variance=[0.5,0.4,0.3,1,0.3,0.5];   %各月的方差值
           Time=1:1:6;
           errorbar(Time,Average,Variance)    %函数调用格式 errorbar(A,B,X)
           xlabel('月份');ylabel('降雨量/cm');

        Graph:

     

        Case2:绘制A地的降雨量误差棒图(绘制单幅误差棒图,方差的正负相不相等时)

        Program:

           Average=[12,11,7,7,6,5];
           Var_positive=[0.1,0.2,0.5,0.5,0.3,0.1];   %正向的方差
           Var_nagetive=[0.5,0.4,0.3,1,0.3,0.5];    %负向的方差
           Time=1:1:6;
           errorbar(Time,Average,Var_nagetive,Var_positive)  
     %函数调用格式errorbar(A,B,X,Y)

                                                              % X为负向误差,Y为正向误差
           xlabel('月份');ylabel('降雨量/cm');

        Graph:

     

        Case3:绘制A地的降雨量误差棒图(绘制单幅误差棒图,并在平均值点处用符号标出)

        Program:

          Average=[12,11,7,7,6,5];
          Variance=[0.5,0.4,0.3,1,0.3,0.5];
          Time=1:1:6;
          errorbar(Time,Average,Variance,'-o')   %注意'-o'中的‘-’去掉后画出来的图是各个孤立的点
          xlabel('月份');ylabel('降雨量/cm');

        Graph:

     

        Case4:讲A、B两地的降雨量误差棒图绘制在一张图上(在同一张图内绘制若干个误差棒图)

        Program:

           Average1=[12,11,7,7,6,5];
           Variance1=[0.5,0.4,0.3,1,0.3,0.5];     %A地的数据
           Average2=[10,8,5,4,3,3];
           Variance2=[0.4,0.3,0.4,0.6,0.3,0.5];    %B地的数据
           Time=1:1:6;
           errorbar(Time,Average1,Variance1,'r-o')    %A地误差棒图,用红色线表示
           hold on
           errorbar(Time,Average2,Variance2,'b-s')    %B地误差棒图,用蓝色线表示
           xlabel('月份');ylabel('降雨量/cm');

       Graph:

     

  • 相关阅读:
    Uva12657 Boxes in a Line
    Uva11988 Broken Keyboard (a.k.a. Beiju Text)
    Uva442 Matrix Chain Multiplication
    Uva514 Rails
    一些计划
    Java基础知识强化07:打印出空心菱形
    Java基础知识强化06:使用BigDecimal计算阶乘1+1/2!+1/3!+……
    Java基础知识强化05:不借助第三个变量实现两个变量互换
    Java基础知识强化04:判断101~200之间有多少素数
    Android(java)学习笔记144:网络图片浏览器的实现(ANR)
  • 原文地址:https://www.cnblogs.com/molakejin/p/5259567.html
Copyright © 2020-2023  润新知