直方图
直方图概述
直方图(Histogram Chart)又称质量分布图,是将一个变量的不同等级的相对频数用矩形块标绘的图表(每一矩形的面积对应于频数),也就是将数据按其顺序分成若干间隔相等的组,以组距为底边,以落入各组的频数为高的若干长方形排列的图。
直方图的理论计算
直方图可以直观地看出产品质量特性值的分布状态,便于掌握产品质量分布的情况;显示质量波动状态,判断工序是否稳定,用以调查工序能力和设备能 力;确定改进方向,通过直方图研究分析质量数据波动状况之后,就可以确定如何进行质量改进。绘制直方图的步骤方法如下所示:
①集中和记录数据,求出其最大值和最小值。数据至少也应在50个以上。
我们把分成组的个数称为组数,每一个组的两个端点的差称为组距。
②将数据分成若干组,并做好记号。分组的数量在5-12之间较为适宜。
③计算组距的宽度。用最大值和最小值之差去除组数,求出组距的宽度。
④计算各组的界限位。各组的界限位可以从第一组开始依次计算,第一组的下界为最小值减去最小测定单位的一半,第一组的上界为其下界值加上组距。第二组的下界限位为第一组的上界限值,第二组的下界限值加上组距,就是第二组的上界限位,依此类推。
⑤统计各组数据出现频数,作频数分布表。
⑥作直方图。以组距为底长,以频数为高,作各组的矩形图。
直方图数据格式
直方图使用的是可扩展标记语言(Extensible Markup Language,即XML),独立的XML文件,显示格式为XML的页面或者是Session里的XML均可作为控制图的数据源。
数据源由三个部分构成:标签映射,规格控制线,数据段。
-
标签映射段(格式不可改变):
<Mapping> <Group> <Mark>group</Mark> <Label>Group</Label> </Group> <Time> <Mark>time</Mark> <Label>Time</Label> </Time> <Sample> <Mark>value1</Mark> <Label>Sample1</Label> </Sample> <Sample> <Mark>value2</Mark> <Label>Sample2</Label> </Sample> <Sample> <Mark>value3</Mark> <Label>Sample3</Label> </Sample> <Sample> <Mark>value4</Mark> <Label>Sample4</Label> </Sample> <Sample> <Mark>value5</Mark> <Label>Sample5</Label> </Sample> </Mapping>解释:这里的<Mark></Mark>节点里的group, time, value1, value2, value3, value4, value5是对应数据段里每个元素的节点名(必须相同,参考数据段元素节点名称),<Label></Label>里的是在数 据源里的显示标签。
-
规格控制线段:
<Cline> <USL>103.5</USL> <SL>100.5</SL> <LSL>97.5</LSL> </Cline>解释:USL,SL,LSL是规格线。
-
数据段(样本容量要足够大,一般为20组,当数据比较少时,也至少有10组):
<element> <group>1</group> <time>2001/10/1</time> <value1>100</value1> <value2>99</value2> <value3>98</value3> <value4>101</value4> <value5>99.5</value5> </element> …… …… …… …… …… <element> <group>2</group> <time>2001/10/2</time> <value1>101</value1> <value2>98</value2> <value3>99</value3> <value4>100</value4> <value5>99.8</value5> </element>解释:每一个<element>节点都表示一个样本,这里的group, time, value1, value2, value3, value4, value5和标签映射段的<Mark>里数据相同。
直方图调用方式
文件资源放置路径如下所示:

在Histogram.html文件中嵌入swf,代码如下(两种方法):
<param name=“movie” value=“HistogramChart.swf?dataurl=Histogram.xml&code= A7oSAGBgYGAQtgp81yxxEg4bCu7OEbWzEEvhBGNvYSoOSuIA589zJ53dOjg=“ />
</object>
或者
var flashvars = {};
flashvars.dataurl = “Histogram.xml”;
flashvars.code = ” A7oSAGBgYGAQtgp81yxxEg4bCu7OEbWzEEvhBGNvYSoOSuIA589zJ53dOjg=”;
………………………
swfobject.embedSWF(“HistogramChart.swf”, “flashContent”, “100%”, “350″, “”, “”, flashvars, “”, “”);
</script>
<body>
<div id=“flashContent”/>
</body>
解释:这里有两个参数,一个是数据源参数(dataurl),另一个是注册码参数(code)。用户在网上可免费获取试用注册码或购买开发注册码。



