seaborn设置图例
时间: 2023-10-28 17:01:37 浏览: 185
在 Seaborn 中,可以使用 `legend()` 函数来设置图例。以下是一个例子:
```python
import seaborn as sns
import matplotlib.pyplot as plt
# 加载示例数据集
tips = sns.load_dataset("tips")
# 绘制带有 hue 分类的散点图
sns.scatterplot(x="total_bill", y="tip", hue="day", data=tips)
# 设置图例
plt.legend(title="Day of Week", loc="upper left", labels=["Thur", "Fri", "Sat", "Sun"])
# 显示图形
plt.show()
```
在这个例子中,我们使用 `scatterplot()` 函数绘制了一个散点图,并使用 `hue` 参数将数据按照 `day` 列进行分类。然后,使用 `legend()` 函数来设置图例的标题、位置和标签。最后,使用 `show()` 函数显示图形。
相关问题
seaborn修改图例位置
使用seaborn绘图时,可以通过传递 `legend` 参数来控制图例的位置和外观。以下是一些常用的方法:
1. `legend=False`:禁用图例;
2. `legend=True`:启用图例,自动放置在最佳位置;
3. `legend_loc='upper left'`:将图例放置在左上角;
4. `legend_loc='upper right'`:将图例放置在右上角;
5. `legend_loc='lower left'`:将图例放置在左下角;
6. `legend_loc='lower right'`:将图例放置在右下角;
7. `legend_out=True`:将图例放置在图形外部;
8. `legend_out=False`:将图例放置在图形内部。
例如,下面的代码将图例放置在左上角:
```python
import seaborn as sns
tips = sns.load_dataset("tips")
sns.scatterplot(x="total_bill", y="tip", hue="smoker", data=tips)
sns.despine()
plt.legend(loc='upper left')
```
注:`sns.despine()` 可以用于去掉图形的上、右边框线。
seaborn修改图例标签
要修改 Seaborn 图表中的图例标签,可以使用 `plt.legend()` 函数。以下是一个示例代码,展示如何将一个 `barplot` 的图例标签更改为自定义标签:
```python
import seaborn as sns
import matplotlib.pyplot as plt
# 加载数据集
tips = sns.load_dataset("tips")
# 绘制一个 barplot
ax = sns.barplot(x="day", y="total_bill", hue="sex", data=tips)
# 获取当前的图例对象
handles, labels = ax.get_legend_handles_labels()
# 修改图例标签
new_labels = ['Female', 'Male']
for t, l in zip(handles, new_labels):
t.set_label(l)
# 更新图例
ax.legend(handles=handles, labels=new_labels)
# 显示图表
plt.show()
```
在这个示例中,我们首先使用 `sns.barplot()` 函数绘制了一个带有 `hue` 参数的图表。然后,我们使用 `ax.get_legend_handles_labels()` 方法获取当前图表的图例对象和标签列表。接下来,我们将标签列表替换为我们想要的新标签,并使用循环将每个图例对象的标签设置为新的标签。最后,我们使用 `ax.legend()` 方法更新图例并显示图表。
阅读全文