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()
参数,但我不确定如何。
答案 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()