绘制统计图表
在概率和统计方法中,经常需要绘制图表从而直观地展现数据。下面简介几种常用统计图表绘图函数.
文章目录
1. 正整数频率表
绘制正整数频率表的函数为 .
table = tabulate(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. 经验累积分布函数图形
绘制经验累积分布函数图形的函数为 .
1. cdfplot(X)
2. h = cdfplot(X)
3. [h,stats] = cdfplot(X)
- 作样本 的累积分布函数图形
- 表示曲线的环柄。
- 表示样本的一些特征。
[例]
>> 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 %样本标准差
经验累积分布函数图像如下图所示:
3. 最小二乘拟合曲线
绘制最小二乘拟合曲线的函数为 .
h = lsline
为直线的句柄。
[例]
>> x=linspace(0,10);
>> y=x+rand(size(x));
>> scatter(x,y)
>> h=lsline;
>> set(h,'LineWidth',3,'LineStyle','--','Color',[1 0 1])
运行后得到最小二乘拟合直线如下图所示:
4. 正态分布概率图形
绘制正态分布概率图形的函数是 .
1. normplot(X)
2. h = normplot(X)
- 若 为向量,则显示正态分布概率图形;若 为矩阵,则显示每一列的正态分布概率图形。
- 返回绘图直线的句柄。
[例]
>> 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)
所得正态分布概率图形如下图所示:
5. Weibull概率图形
绘制 Weibull 概率图形的函数为 .
1. weibplot(X)
2. h = weibplot(X)
- 若 为向量,则显示 Weibull 概率图形;若 为矩阵,则显示每一列的 Weibull 概率图形。
- 返回绘图直线的句柄。
[例]
>> 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. 样本数据盒图
绘制样本数据盒图的函数是 .
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.
- 定义“须”图的长度,默认值为1.5.
[例]
>> x1 = normrnd(5,1,100,1);
>> x2 = normrnd(6,1,100,1);
>> x = [x1,x2];
>> boxplot(x,1,'g--',1,0)
运行后所得盒图如下图所示:
7. 为图形增加参考线
为当前图形增加一条参考线需调用函数 .
1. refline(slope,intercept)
2. refline(slope)
- 表示直线斜率, 表示直线截距.
- :在图中绘制一条直线: .
[例]
>> 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)
运行后所得图形如下图所示:
8. 为图形增加多项式曲线
在当前图形上绘制一条多项式曲线的函数是 .
h = refcurve(p)
在图中加入一条多项式曲线: 为曲线的环柄, 为多项式系数向量: ,其中 为最高幂次项系数。
[例]
>> h = [114 514 191 981 036 436 419 191 981 145 141 919 810];
>> plot(h,'--')
>> refcurve([-5.14 114 0])
运行后所得多项式曲线图形如下图所示:
9. 绘制样本概率图形
绘制样本概率图形的函数为 .
p = capaplot(data,specs)
返回来自于估计分布的随机变量落在指定范围内的概率。 为所给的样本数据, 指定范围, 表示在指定范围内的概率。
[例]
>> h = [114 514 191 981 036 436 419 191 981 145 141 919 810];
>> s = [364,514];
>> p = capaplot(h,s)
p =
0.1665
>>
运行后所得图形如下图所示.
10. 绘制附加有正态密度曲线的直方图
绘制附加有正态密度分布曲线的直方图的函数是 .
1. hisfit(data)
2. hisfit(data,nbins)
- 为向量,函数返回直方图和正态曲线。
- 为指定 个数的量。
[例]
>> r = normrnd(10,1,100,1);
>> histfit(r)
运行后所得附有正态密度分布曲线直方图如下图所示.
11. 在指定的界线间绘制正态密度曲线
在指定界线间绘制正态密度曲线的函数是 .
p = normspec(specs,mu,sigma)
指定界线, , 为正态分布的参数, 为样本落在上、下界之间的概率.
[例]
>> normspec([10 Inf],11.4,5.14)
ans =
0.6073
>>
运行后所得在指定界限间绘制正态密度曲线如下图所示.