如何更改 seaborn countplot 中图例的位置?

Posted

技术标签:

【中文标题】如何更改 seaborn countplot 中图例的位置?【英文标题】:How to change the location of a legend in seaborn countplot? 【发布时间】:2020-08-30 01:12:51 【问题描述】:

下面的代码会生成一个带有 seaborn 的计数图并注释百分比:

ax = sns.countplot(y=target_column, data=data, hue=target_column)
plt.title(f'Distribution of target_column')
plt.xlabel('Number of occurrences')

total = len(data[target_column])
for p in ax.patches:
    percentage = ':.1f%'.format(100 * p.get_width()/total)
    x = p.get_x() + p.get_width() + 0.02
    y = p.get_y() + p.get_height()/2
    ax.annotate(percentage, (x, y))

我想添加一个图例,我知道有色相参数,但结果是图例框与实际的我的条和百分比注释重叠:

如何将图例的位置更改为绘图的右下角?

【问题讨论】:

【参考方案1】:

我没有你的数据可供尝试,但plt.legend(loc='lower left') 和https://matplotlib.org/3.2.1/api/_as_gen/matplotlib.pyplot.legend.html 一样应该可以完成这项工作(顺便说一句,这就是你现在拥有的数据,也许你想要lower right)。

【讨论】:

【参考方案2】:

您可能还想让图例使用

在空间方面选择最佳位置
ax = sns.countplot(y=target_column, data=data, hue=target_column)
ax.legend(loc='best')

【讨论】:

以上是关于如何更改 seaborn countplot 中图例的位置?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中 Seaborn 的 countplot 中的每个条形上方添加值? [复制]

Seaborn:带有频率的计数图()

如何在seaborn的条形顶部添加百分比

如何在seaborn的条形顶部添加百分比

如何在 seaborn 中并排绘制两个计数图?

如何在使用“融化”分组的seaborn计数图上获得高于柱的值