Pandas注释数据帧hist

时间:2016-10-16 05:50:05

标签: python pandas matplotlib

df = { 'id' : pd.Series([1,1,1,1,2,2,2,2,3,3,4,4,4])}

num_id = df['id'].value_counts().hist(bins=2)

我得到一个漂亮的直方图,其中包含落入每个bin的id数量。

问题是,如何为每个栏添加注释以显示计数?它可能在中间有白色文字。

我知道我们可以在ax中指定hist()参数,但我不确定如何。

enter image description here

1 个答案:

答案 0 :(得分:2)

在这里(使用import语句,以防万一):

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({ 'id' : [1,1,1,1,2,2,2,2,3,3,4,4,4]})

fig, ax = plt.subplots()
freq, bins, _ = ax.hist(df['id'].value_counts(), 2, facecolor='skyblue')
ax.grid(True)
for i, n in enumerate(freq):
    ax.text(bins[i]+0.5, 2, n)
ax.set_xlabel('Bins')
ax.set_ylabel('Freq')
plt.show()

Histogram, with Text