为什么我的直方图看起来像这样?我使用以下代码绘制它:
import matplotlib.pyplot as plt
n, bins, patches = plt.hist(data, 25)
plt.show()
其中data
包含大约500,000个排序点。每个垃圾箱不应该在顶部平滑吗?
答案 0 :(得分:1)
我怀疑您的数据可能不是一个平面列表,但是,例如,列表列表或类似结构。在这种情况下,hist
将按子列表进行bin。此脚本演示了不同之处:
import random
from matplotlib import pyplot as plt
data = [[random.randint(0, x) for x in range(20)] for y in range(100)]
plt.subplot(211)
# structured
plt.hist(data, 25)
plt.subplot(212)
# flattened
plt.hist([i for l in data for i in l], 25)
plt.show()
你可能不得不使用某种类似的"展平"关于你的数据。
答案 1 :(得分:0)
我认为this example from the matplotlib gallery会显示您想要的情节。因此,您应该使用histtype="stepfilled"
或histtype="bar"
。