我正在使用MNIST数据集并使用sns.countplot()
绘制火车图像,这给出了
有没有办法在某处添加条形图的值?在每一个上面?在里面/下面?目前,我正在使用print
查看实际值,并且会干扰sns.countplot()
,因为这些图总是在打印之前输出
我使用了与this非常相似的代码,但我仍然没有注释。
# print and plot digit count
plt.figure(figsize=(12,5))
digit_count = sns.countplot(Y_train)
plt.title('Distribution of digits')
for d in digit_count.patches:
digit_count.annotate('%{:.1f}'.format(d.get_height()), (d.get_x()+0.1, d.get_height()+50))
从p.get_x()
和p.get_height()
打印值时,我会得到正确的值,但它们不会显示在列的顶部
尝试添加twinx
...也没有帮助:
twin_table = digit_count.twinx()
twin_table.set_yticks(np.arange(0, 110, 10))
只添加了一个辅助y轴(我也不知道如何命名......):
答案 0 :(得分:0)
import seaborn as sns, numpy as np
df = sns.load_dataset("iris")
# Basic countplot
ax = sns.countplot(x="species", y="sepal_length", data=df)
medians = df.groupby(['species'])['sepal_length'].median().values
nobs = df['species'].value_counts().values
nobs = [str(x) for x in nobs.tolist()]
nobs = ["n: " + i for i in nobs]
pos = range(len(nobs))
for tick,label in zip(pos,ax.get_xticklabels()):
ax.text(pos[tick], medians[tick] + 0.03, nobs[tick], horizontalalignment='center', size='x-small', color='w', weight='semibold')