如何在地图上画柱状图python_在matplotlib中,如何绘制柱状图,使条形图的高度总和为1?...

该博客分享了一种方法,如何在Matplotlib中创建一个直方图,其所有条形高度总和为1,以便于直观解释。作者介绍了一个Python代码示例,通过调整直方图的频率并补零来实现这一目标,并提到可能存在的边缘条形不完全闭合的问题及其解决办法。
摘要由CSDN通过智能技术生成

考虑到这个问题的日期是2010年,我知道这个答案已经太迟了,但我自己也遇到了类似的问题。如回答中所述,normed=True表示直方图下的总面积等于1,但高度之和不等于1。但是,为了便于对直方图进行物理解释,我想制作一个高度和等于1的直方图。

如果社区认为这是可以接受的,我想提出一个解决方案,综合以上两个职位的想法。import matplotlib.pyplot as plt

# Let X be the array whose histogram needs to be plotted.

nx, xbins, ptchs = plt.hist(X, bins=20)

plt.clf() # Get rid of this histogram since not the one we want.

nx_frac = nx/float(len(nx)) # Each bin divided by total number of objects.

width = xbins[1] - xbins[0] # Width of each bin.

x = np.ravel(zip(xbins[:-1], xbins[:-1]+width))

y = np.ravel(zip(nx_frac,nx_frac))

plt.plot(x,y,linestyle="dashed",label="MyLabel")

#... Further formatting.

这对我来说非常有效,尽管在某些情况下,我注意到直方图的最左边的“条”或最右边的“条”并不是通过触摸Y轴的最低点来关闭的。在这种情况下,在行乞或y的末尾添加一个元素0就得到了必要的结果。

我只是想和你分享我的经历。谢谢您。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值