我正在使用泰坦尼克号数据集的散点图和计数图。
这是我画散点图的代码.我还试着编辑图例标签.
ax = seaborn.countplot(x='class', hue='who', data=titanic)
legend_handles, _ = ax.get_legend_handles_labels()
plt.show();
为了编辑图例标签,我这样做了。在这种情况下,不再有图例标题。我如何将此标题从“who”重命名为“who1”?
ax = seaborn.countplot(x='class', hue='who', data=titanic)
legend_handles, _= ax.get_legend_handles_labels()
ax.legend(legend_handles, ['man1','woman1','child1'], bbox_to_anchor=(1,1))
plt.show()
我用同样的方法编辑了散点图上的图例标签,但结果不同。它使用“dead”作为图例标题,使用“survived”作为第一个图例标签。
ax = seaborn.scatterplot(x='age', y='fare', data=titanic, hue = 'survived')
legend_handles, _= ax.get_legend_handles_labels()
ax.legend(legend_handles, ['dead', 'survived'],bbox_to_anchor=(1.26,1))
plt.show()
1.是否有删除和添加图例标题的参数?
1.我在两个不同的图表上使用了相同的代码,但图例的结果却不一样,这是为什么?
3条答案
按热度按时间ekqde3dh1#
尝试使用
dwbf0jvd2#
对于seaborn v0.11.2或更高版本,请使用
move_legend()
函数。从FAQs page:
对于seaborn v0.11.2或更高版本,请使用move_legend()函数。
vmjh9lq93#
为什么图例顺序有时会不同?
您可以通过
hue_order=['man', 'woman', 'child']
强制图例的顺序。默认情况下,顺序是它们在 Dataframe 中出现的顺序(当值只是字符串时),或者是pd.Categorical
强制的顺序。如何重命名图例条目
最可靠的方法是重命名列值,例如:
如果列中的条目包含
0,1,...
范围内的数字,则可以使用pd.Categorical.from_codes(...)
。这也会强制排序。特定色调值的特定颜色
有许多选项可以指定要使用的颜色(通过
palette=
)。要将特定颜色分配给特定色调值,调色板可以是字典,例如:重命名或删除图例标题
sns.move_legend(ax, title=..., loc='best')
设置一个新的标题。将标题设置为空字符串会删除它(当条目是自解释的时候这很有用)。代码示例