在一个计数图中,我需要在柱状图的顶部添加百分比。我已经尝试了this帖子中提供的解决方案。但是我只能得到第一根柱子的百分比,而不是其他的。有没有办法解决这个问题?以下是代码片段:
import pandas as pd
my_data_set = pd.DataFrame({'ydata': ['N', 'N', 'N', 'N', 'N', 'N', 'Y', 'N', 'Y', 'N', 'N'],
'p_f_test': ['False', 'True', 'True', 'True', 'False', 'False', 'False', 'False', 'False', 'False', 'True']})
total = float(len(my_data_set))
ax = sns.countplot(x='p_f_test',hue='ydata',data=my_data_set)
for p in ax.patches:
height = p.get_height()
ax.text(p.get_x()+p.get_width()/2., height + 3, '{:1.2f}'.format(height/total), ha="center").astype(int)
.astype(int)
,因为您无法将matplotlib.text.Text
元素转换为整数。 - ImportanceOfBeingErnestValueError: 无法将浮点数NaN转换为整数
。 - ggg_datascience