【发布时间】:2016-07-11 13:33:05
【问题描述】:
我正在使用 matplotlib 制作直方图。
基本上,我想知道是否有任何方法可以手动设置 bin 以及它们的值,并且仍然可以获得结果,就好像该图是我的 matplotlin 直方图一样。以下是我的垃圾箱及其对应的值。
0-7 0.9375
7-13 0.9490740741
13-18 0.8285714286
18-28 0.880952381
28-37 0.92164903
37-48 0.9345357019
48-112 0.9400368773
这是我实现的条形码
import matplotlib.pyplot as plt
plt.bar(maxlist, mean)
plt.show()
maxlist = [7.0, 13.0, 18.0, 28.0, 37.0, 48.0, 112.0]
mean = [0.9375, 0.94907407407777766, 0.82857142858571442, 0.88095238094999995, 0.92164902996666676, 0.93453570191250002, 0.94003687729000018]
我也尝试过使用宽度参数,但在这种情况下条形似乎重叠,这在直方图中不会发生。
import matplotlib.pyplot as plt
plt.bar(maxlist, mean,width = 6)
plt.show()
我想要的是条形图看起来像如下所示的直方图,没有任何重叠。任何对如何在 python /ipython notebook 中执行此操作有任何想法的人。
【问题讨论】:
-
所以你希望条的宽度相等,但它们的底部宽度不相等?或者你有一些更宽的酒吧来填补空白吗?
-
Bins 允许您通过传递列表来提供非常具体的 bin。显示不受影响。在优秀文档中查看
histtype、align和rwidth:matplotlib.org/api/pyplot_api.html。 -
@maxymoo 我想要长度相等的条形,而不是让它们相互重叠。基数不能相等,因为 bin 的范围每次都不同。希望这能澄清你的疑问。
标签: python numpy pandas matplotlib histogram