柱状图/直方图宽度的选定
介绍两个算法
有已从小到大排序数据序列SortData,其长度为Len,需要使用SortData内的数据画出直方图
1、弗里德曼方法FreedMan
取
较小四分位Q1 = SortData[ (Len + 1) / 4 ]
中位数Q2 = SortData[ (Len + 1) / 2 ]
较大四分位数Q3 = SortData[ (Len + 1) / 4 * 3 ]
计算四分位距 IQR = Q3 - Q1
则弗里德曼方法下最优宽度为
四分位距除以序列长度的立方根的2倍, 2 * IQR / Pow( Len, 1.0 / 3.0 )
2、斯特科方法Scott
斯特科方法下最优宽度为
序列内数据的标准差除以序列长度的立方根的3.5倍, 3.5 * STD / Pow( Len, 1.0 / 3.0 )
标准差 等于 方差的算数平方根 STD = Sqrt( Variance )
方差 公式
(其中括号内被减数是序列的算数平均值)
原创不易,转载请注明出处,谢谢