绘制直方图,计算CPK、PPK等数据

时间:2024-03-27 09:00:43

最近项目需要做一个直方图,计算CPK、PPK等过程数据,参照SPC功能。

本以为此类功能有现成的控件,但查找了半天也没有找到合适的,大多数只是用了普通的chart控件加柱状图,连基本的运算过程都没有,最终找到一个接近的,在此基础上封装了自己的控件,完成了基本功能。

先看看效果:(对标太友SPC软件,客户就想要这种的..)

绘制直方图,计算CPK、PPK等数据

绘制直方图,计算CPK、PPK等数据

核心在于直方图的原理和CPK、PPK等的计算公式 。

直方图制作思路(来自百度)

①集中和记录数据,求出其最大值和最小值。数据的数量应在100个以上,在数量不多的情况下,至少也应在50个以上。 我们把分成组的个数称为组数,每一个组的两个端点的差称为组距。
②将数据分成若干组,并做好记号。分组的数量在5-12之间较为适宜。

③计算组距的宽度。用最大值和最小值之差去除组数,求出组距的宽度。
④计算各组的界限位。各组的界限位可以从第一组开始依次计算,第一组的下界为最小值减去最小测定单位的一半,第一组的上界为其下界值加上组距。第二组的下界限位为第一组的上界限值,第二组的下界限值加上组距,就是第二组的上界限位,依此类推。
⑤统计各组数据出现频数,作频数分布表。
⑥作直方图。以组距为底长,以频数为高,作各组的矩形图。

CPK、PPK运算:

Ca=(样本平均值-规格中心值)/(规格公差/2)

Cp=(规格上限-规格下限)/(6×标准差)

Cpk=(1-Ca) ×Cp

Cpu=(Ucl-Xbar)/3δ

Cpl=(Xbar-Lsl)/3δ

PPK与CPK的计算方式一致,只是标准公差取值不一样。标准公差计算方式有以下两种:

绘制直方图,计算CPK、PPK等数据

3sigma、  -3sigma  取值

正负3倍标准差是图中3Sigma线的坐标值,其表示距离中心值三倍标准差的数值大小。

 

也就是中心值-3*δ

具体可以查看示例代码。在我的资源里。