用Python绘制直方图
计算频数:
给定一个序列t:
hist = {}
for x in t:
hist[x] = hist.get(x,0)+1
得到的结果是一个将值映射到其频数的字典。将其除以n即可把频数转换成频率,这称为归一化:
n = float(len(t))
pmf = {}
for x, freq in hist.items():
pmf[x] = freq/n
绘制直方图:
Vals, freqs = hist.Render()
rectangles = pyplot.bar(vals, freqs)
pyplot.show()
绘制概率质量函数:
采用柱状图,可以用pyplot.bar或myplot.Hist。如果Pmf中的值不多,柱状图就比较合适
采用折线图,可以用pyplot.plot或者myplot.Pmf。如果Pmf中的值较多,且比较平滑,折线图就比较合适。
*百分比差异图
直观显示两组数据的分布差异,详见教材。
摘自《统计思维-程序员数学之概率统计》P15-P23