编辑 Seaborn 散点图和计数图的图例标题

Doh*_*un 1 python data-visualization matplotlib legend seaborn

我在泰坦尼克号数据集上使用 seaborn 散点图和计数图。
这是我绘制散点图的代码。我还尝试编辑图例标签。

ax = seaborn.countplot(x='class', hue='who', data=titanic)
legend_labels, _= ax.get_legend_handles_labels()
pyplot.show();
Run Code Online (Sandbox Code Playgroud)

输出

为了编辑图例标签,我这样做了。在这种情况下,不再有图例标题。如何将此标题从 'who' 重命名为 'who1' ?

ax = seaborn.countplot(x='class', hue='who', data=titanic)
legend_labels, _= ax.get_legend_handles_labels()
ax.legend(legend_labels, ['man1','woman1','child1'], bbox_to_anchor=(1,1))
pyplot.show();
Run Code Online (Sandbox Code Playgroud)

输出2

我使用相同的方法编辑散点图上的图例标签,结果在这里有所不同。它使用 'dead' 作为图例标题,并使用 'survied' 作为第一个图例标签。

ax = seaborn.scatterplot(x='age', y='fare', data=titanic, hue = 'survived')
legend_labels, _= ax.get_legend_handles_labels()
ax.legend(legend_labels, ['dead', 'survived'],bbox_to_anchor=(1.26,1))
pyplot.show();
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

(1) 是否有删除和添加图例标题的参数?

(2) 我在两个不同的图上使用了相同的代码,图例的结果是不同的。为什么?

谢谢

Ahm*_*ved 5

尝试使用

ax.legend(legend_labels, ['man1','woman1','child1'], 
          bbox_to_anchor=(1,1), 
          title='whatever title you want to use')
Run Code Online (Sandbox Code Playgroud)