matplotlib - 用独特的箱子绘制直方图

时间:2017-07-24 01:03:57

标签: matplotlib histogram

我正在尝试绘制直方图,但x刻度似乎不正确。 该图旨在获得频率计数(1到13)和总行数(10000)的直方图。

d1 = []
for i in np.arange(1, 10000):
tmp = np.random.randint(1, 13)
d1.append(tmp)
d2 = pd.DataFrame(d1)
d2.hist(width = 0.5)
plt.xticks(np.arange(1, 14, 1))

我试图绘制值的频率计数而不是范围。

enter image description here

1 个答案:

答案 0 :(得分:1)

您需要设置直方图应使用的bin边缘。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

d1 = np.random.randint(1, 13, size=1000)
d2 = pd.DataFrame(d1)
bins = np.arange(0,13)+0.5
d2.hist(bins=bins, ec ="k")
plt.xticks(np.arange(1, 13))

plt.show()

enter image description here