python-3.x - 超越 Seaborn 的传奇
问题描述
我使用 seaborn 的 relplot 制作了一个线图,我想自定义我的图例标签。出于某种原因,当我这样做时,它会创建另一个传奇而不删除旧传奇。如何摆脱最初的传说(标题为“性”的传说)?另外,如何为我的新图例添加图例标题?
这是我用来生成情节的代码:
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'])
解决方案
regplot
是一个图形级函数,并返回一个FacetGrid
. 您可以通过 删除其图例g.legend.remove()
。
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:添加legend=False
到sns.relplot()
不会创建图例条目。因此,您需要重新创建图例标记及其标签,同时丢失使用了哪些颜色的信息。
推荐阅读
- java - Spring boot fat jar 无法从 application.properties 中定义的绝对路径读取文件
- php - 使用 MySQL 通过 WP PHP 模板生成内容 - 连接,找不到数据库
- terraform - 获取 aws_instance 创建的 key_pair 名称
- python - 根据脚本刚刚访问的数据在特定时间启动脚本
- speech-recognition - 如何使用隐马尔可夫模型进行孤立词识别
- facebook-graph-api - Facebook graph api - 在开发模式下获取页面公共内容访问
- python - 如何在 Pandas 中获得标准化的时间表示?
- r - 如何在数据表中提取节点名称及其特征向量中心性
- angular - Why error occurs on input text html element?
- php - 将“foreach”循环转换为:“for、while 和 do while”?