








前段时间有个需求,要求做个"盒式图"或叫"盒须图""箱形图",此图是统计学中用于统计分析的一类图表,开始看到这个词有些奇怪,说实话之前从来没听说过这样的图!因为是用户需求,还是要尝试实现一下!尝试过用水晶报表,Excel等,但都没找到实现方法或找到方法但不是很理想,最终Dundas Chart(Enterprise)控件中终于找到了相应的控件(当然其它的控件也提供此图支持)
现把学习过程记录下来以备后用,或给有用的朋友一点提示..
一.名词解释
在网上找了N久,关于盒须图的解释很少,下面是搜索的几个解释,可以综合起来理解:
1.盒须图又称为箱形图,其绘制须使用常用的统计量,最适宜提供有关数据的位置和分散的参考,尤其在不同的母体数据时更可表现其差异
常用的统计量 :
。 平均数
。 中位数
。 百分位数
。 四分位数
。 全距
。 四分位距
。 变异数和标准差
。 盒须图的绘制
详情参见:http://web.thu.edu.tw/wenwei/www/cgi/stat/box/index.html#a4)
2.盒须图提供了一种只用5个点对数据集做简单的总结的方式。这5个点包括中点、Q1、Q3、分部状态的高位和低位。盒须图很形象的分为中心、延伸以及分部状态的全部范围
(http://wme.lzu.edu.cn/cn/stat_boxwhisker.html?index=/cn/stat_index.html&indexname=%E8%BF%94%E5%9B%9E%E7%9B%AE%E5%BD%95)
二. 盒须图百分位数的计算方式
盒式图中最重要的是对相关统计点的计算,相关统计点都可以通过百分位计算方法进行实现,强大的教育统计分析软件SPSS,提供了五种计算方式,用于计算百分位的计算方案可参见(http://www.broadtarget.com/Blog/?action/viewspace/itemid/44).本文的百分位数的计算方式采用最基本的计算方案.
百分位数:
第p个样本百分位数是某一个数值
,使得样本中有 p 部分的观察值小于或等于
。
求第p 个百分位数的程序:
1. 将数据由小到大排序。
2. 计算第
个位置
3. 假如 i 不为整数,则取下一个比i 还要大的值,即为第 p 个百分位数。
假如 i 为整数,则第p 个百分位数为第 i 和i+1的平均。
注意:第50个百分位数 = 中位数
三.样本数据结构,数据,计算方法
1.成绩表
班级 学号 分数 其它字段
3 01 85.50
3 02 78.00
4 03 76.50
4 04 71.00
5 05 67.00
5 06 76.00
......
2.盒须图数据结构表
(Q1=lower_whisker,Q2=upper_whisker,Q3=low_box,Q4=upper_box,Q5=med)
分组 分组名称 Q1 Q2 Q3 Q4 avg Q5
1 高一1班 46.0 79.5 63.0 73.0 66.0 71.0
2 高一2班 48.6 82.2 63.3 76.5 68.1 71.5
3 高一3班 48.9 82.5 63.4 74.0 67.1 68.5
4 高一4班 65.7 87.3 74.8 81.4 77.5 79.3
5 高一5班 53.0 88.5 73.1 83.5 76.6 78.5
6 高一6班 62.5 88.3 72.5 82.3 76.0 76.5 3.分析存储过程
执行分析存储过程,将成绩表(1)中的数据分析为盒须图指定格式盒须图数据结构表(2)
分析存储过程
四.实现源码(C#)
实现数据绑定的源码非常简单,在对应DundasChart控制上,直接将数据源绑定即可
五.结果图像
盒须图的显示结果如下所示:

附:
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。