MATLAB数据统计和分析:绘制统计图表

绘制统计图表

在概率和统计方法中,经常需要绘制图表从而直观地展现数据。下面简介几种常用统计图表绘图函数.



1. 正整数频率表

绘制正整数频率表的函数为 t a b u l a t e tabulate tabulate.

table = tabulate(X)

X X X 为正整数构成的向量,返回三列:
首列包含 X X X 的值,第二列为这些值的个数,第三列为这些值的频率。

[例]

>> A = [1 1 4 5 1 4 1 9 1 9 8 1 0];
>> tabulate(A)
  Value    Count   Percent
      0        1      7.69%
      1        6     46.15%
      4        2     15.38%
      5        1      7.69%
      8        1      7.69%
      9        2     15.38%
>> 

2. 经验累积分布函数图形

绘制经验累积分布函数图形的函数为 c d f p l o t cdfplot cdfplot.

1. cdfplot(X)
2. h = cdfplot(X)
3. [h,stats] = cdfplot(X)
  1. 作样本 X X X 的累积分布函数图形
  2. h h h 表示曲线的环柄。
  3. s t a t s stats stats 表示样本的一些特征。

[例]

>> X = normrnd(0,1,114,1);
>> [h,stats] = cdfplot(X)
h = 

  Line with properties:

              Color: [0 0.4470 0.7410]
          LineStyle: '-'
          LineWidth: 0.5000
             Marker: 'none'
         MarkerSize: 6
    MarkerFaceColor: 'none'
              XData: [1×230 double]
              YData: [1×230 double]
              ZData: [1×0 double]

  Show all properties


stats = 

  struct with fields:

       min: -2.9443                 %样本最小值
       max: 3.5784                  %样本最大值
      mean: 0.1015                  %样本均值
    median: 0.0930                  %样本中间值
       std: 1.1459                  %样本标准差

经验累积分布函数图像如下图所示:
Fig.0


3. 最小二乘拟合曲线

绘制最小二乘拟合曲线的函数为 l s l i n e lsline lsline.

h = lsline

h h h 为直线的句柄。

[例]

>> x=linspace(0,10);
>> y=x+rand(size(x));
>> scatter(x,y)
>> h=lsline;
>> set(h,'LineWidth',3,'LineStyle','--','Color',[1 0 1])

运行后得到最小二乘拟合直线如下图所示:
Fig.1


4. 正态分布概率图形

绘制正态分布概率图形的函数是 n o r m p l o t normplot normplot.

1. normplot(X)
2. h = normplot(X)
  1. X X X 为向量,则显示正态分布概率图形;若 X X X 为矩阵,则显示每一列的正态分布概率图形。
  2. 返回绘图直线的句柄。

[例]

>> X = [1,1,4;5,1,4;1,9,1;9,8,1]

X =

     1     1     4
     5     1     4
     1     9     1
     9     8     1

>> h = normplot(X)

h = 

  9×1 Line array:

  Line
  Line
  Line
  Line
  Line
  Line
  Line
  Line
  Line

>> normplot(X)

所得正态分布概率图形如下图所示:
Fig.2


5. Weibull概率图形

绘制 Weibull 概率图形的函数为 w e i b p l o t weibplot weibplot .

1. weibplot(X)
2. h = weibplot(X)
  1. X X X 为向量,则显示 Weibull 概率图形;若 X X X 为矩阵,则显示每一列的 Weibull 概率图形。
  2. 返回绘图直线的句柄。

[例]

>> X = [1,1,4;5,1,4;1,9,1;9,8,1]

X =

     1     1     4
     5     1     4
     1     9     1
     9     8     1
weibplot(X)

运行后得到 Weibull 概率图形如下图所示:

(然而本飞舞的MATLAB上并没有这个函数,哭哭,,,)


6. 样本数据盒图

绘制样本数据盒图的函数是 b o x p l o t boxplot boxplot.

1. boxplot(X)
2. boxplot(X,notch)
3. boxplot(X,notch,'sym')
4. boxplot(X,notch,'sym',vert)
5. boxplot(X,notch,'sym',vert,whis)
  1. 产生矩阵 X X X 的每一列的盒图和“须”图.
  2. n o t c h = 1 notch = 1 notch=1 时产生凹盒图, n o t c h = 0 notch = 0 notch=0 时产生矩箱图.
  3. s y m sym sym 表示图形符号,默认为 “+”.
  4. v e r t = 0 vert = 0 vert=0 时生成水平盒图, v e r t = 1 vert = 1 vert=1 时生成竖直盒图,默认值为1.
  5. w h i s whis whis 定义“须”图的长度,默认值为1.5.

[例]

>> x1 = normrnd(5,1,100,1);
>> x2 = normrnd(6,1,100,1);
>> x = [x1,x2];
>> boxplot(x,1,'g--',1,0)

运行后所得盒图如下图所示:
Fig.4


7. 为图形增加参考线

为当前图形增加一条参考线需调用函数 r e f l i n e refline refline.

1. refline(slope,intercept)
2. refline(slope)
  1. s l o p e slope slope 表示直线斜率, i n t e r c e p t intercept intercept 表示直线截距.
  2. s l o p e = [ a , b ] slope = [a,b] slope=[a,b]:在图中绘制一条直线: y = a x + b y = ax + b y=ax+b.

[例]

>> y = [1.1 4.5 1.4 1.9 1.9 8.1 0.3 6.4 8.9 3.1 ]';
>> plot(y,'+')
>> refline(0,3.64)

运行后所得图形如下图所示:
Fig.5


8. 为图形增加多项式曲线

在当前图形上绘制一条多项式曲线的函数是 r e f c u r v e refcurve refcurve.

h = refcurve(p)

在图中加入一条多项式曲线: h h h 为曲线的环柄, p p p 为多项式系数向量: p = [ p 1 , p 2 , ⋯   , p n ] p = [p_{1},p_{2},\cdots,p_{n}] p=[p1,p2,,pn],其中 p 1 p_{1} p1 为最高幂次项系数。

[例]

>> h = [114 514 191 981 036 436 419 191 981 145 141 919 810];
>> plot(h,'--')
>> refcurve([-5.14 114 0])

运行后所得多项式曲线图形如下图所示:
Fig.6


9. 绘制样本概率图形

绘制样本概率图形的函数为 c a p a p l o t capaplot capaplot.

p = capaplot(data,specs)

返回来自于估计分布的随机变量落在指定范围内的概率。 d a t a data data 为所给的样本数据, s p e c s specs specs 指定范围, p p p 表示在指定范围内的概率。

[例]

>> h = [114 514 191 981 036 436 419 191 981 145 141 919 810];
>> s = [364,514];
>> p = capaplot(h,s)
p =

    0.1665

>> 

运行后所得图形如下图所示.
Fig.7


10. 绘制附加有正态密度曲线的直方图

绘制附加有正态密度分布曲线的直方图的函数是 h i s f i t hisfit hisfit.

1. hisfit(data)
2. hisfit(data,nbins)
  1. d a t a data data 为向量,函数返回直方图和正态曲线。
  2. n b i n s nbins nbins 为指定 b a r bar bar 个数的量。

[例]

>> r = normrnd(10,1,100,1);
>> histfit(r)

运行后所得附有正态密度分布曲线直方图如下图所示.
Fig.8


11. 在指定的界线间绘制正态密度曲线

在指定界线间绘制正态密度曲线的函数是 n o r m s p e c normspec normspec.

p = normspec(specs,mu,sigma)

s p e c s specs specs 指定界线, m u mu mu s i g m a sigma sigma 为正态分布的参数, p p p 为样本落在上、下界之间的概率.

[例]

>> normspec([10 Inf],11.4,5.14)

ans =

    0.6073

>> 

运行后所得在指定界限间绘制正态密度曲线如下图所示.
Fig.9

  • 5
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值