首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >覆盖Seaborn图例

覆盖Seaborn图例
EN

Stack Overflow用户
提问于 2021-01-19 10:05:20
回答 1查看 77关注 0票数 1

我使用seaborn的relplot绘制了一个线条图,并且我想要自定义我的图例标签。由于某些原因,当我这样做时,它创建了另一个图例,而没有删除旧的图例。如何摆脱最初的图例(标题为“Sex”的图例)?另外,如何将图例标题添加到我的新图例?

下面是我用来生成我的图的代码:

代码语言:javascript
复制
plt.figure(figsize=(12,10))

sns.relplot(x='Year',y = 'cancer/100k pop' , data = dataset_sex,hue="Sex", kind="line",ci=None)
title_string = "Trend of Cancer incidencies by Sex " 
plt.xlabel('Years')
plt.title(title_string)
plt.legend(['Men','Women'])

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-19 18:35:08

regplot是一个图形级函数,它返回一个FacetGrid。您可以通过g.legend.remove()删除其图例。

代码语言:javascript
复制
import matplotlib.pyplot as plt
import seaborn as sns

tips = sns.load_dataset("tips")
g = sns.relplot(data=tips, x="total_bill", y="tip", hue="day")
g.legend.remove()
plt.legend(['Jeudi', 'Vendredi', 'Samedi', 'Dimanche'])
plt.show()

这段代码已经使用seaborn 0.11进行了测试。你可能需要升级。要向图例添加标题,请执行以下操作:plt.legend([...], title='New title')

请注意,plt.legend(...)将在最后一个(或唯一的)子图中创建图例。如果您更喜欢绘图旁边的图例级图例,要更改图例标签,可以在删除旧图例后调用g.add_legend(labels=[...], title='new title')

PS:向sns.relplot()添加legend=False不会创建图例条目。因此,您需要重新创建图例标记及其标签,同时丢失所使用颜色的信息。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65784578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档