python直方图(频数密度)-深入浅出统计学
最近再看《深入浅出统计学》,想把里面的例子都用python画出来,才看几页就遇到问题了 - -
例子如下图:
画出上面的直方图,错误的表示如下图:
这个画出来了,实现代码如下:
data_rand1 = np.concatenate([np.random.randint(1,10,4300)/10,
np.random.randint(11,30,6900)/10,
np.random.randint(31,50,4900)/10,
np.random.randint(51,100,2000)/10,
np.random.randint(101,240,2100)/10
])
bins1 = [0,1,3,5,10,24]
plt.hist(data_rand1,bins=bins1,histtype='bar',rwidth=10,edgecolor="black")
上面这个图不符合数据分析直方图的原则,频数与长方形面积成比例,明显时间跨度大的区间面积大了
所以书上对于这种跨度不一样的,需要求出频数密度在进度绘制,如下图:
频数密度,知道怎么算,代码也实现了,但算出来了,数据不知道咋画直方图了,直方图需要的是连续的数据值,而我这边算出来的是连续值的统计值。
bins1_with = [bins1[x] - bins1[x-1] for x in range(1,len(bins1))]
data8 = data7 / bins1_with
求大神指导同样的数据怎么画出上面第二个直方图那样。最后不知道表达的清楚不
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
解决了
plt.hist 参数density设置为True,即以密度的形式显示