seaborn显示部分图例
时间: 2023-04-01 14:02:45 浏览: 230
可以使用以下代码来显示部分图例:
```python
import seaborn as sns
# 加载数据集
tips = sns.load_dataset("tips")
# 绘制图形
ax = sns.scatterplot(x="total_bill", y="tip", hue="day", data=tips)
# 获取图例对象
handles, labels = ax.get_legend_handles_labels()
# 选择要显示的图例
displayed_handles = [handles[], handles[2], handles[3]]
displayed_labels = [labels[], labels[2], labels[3]]
# 显示部分图例
ax.legend(displayed_handles, displayed_labels, loc="upper right")
```
这段代码会绘制一个散点图,并显示四个图例,分别对应不同的日期。然后,我们通过 `ax.get_legend_handles_labels()` 方法获取图例对象和标签。接着,我们选择要显示的图例,并使用 `ax.legend()` 方法来显示部分图例。在这个例子中,我们选择了第一个、第三个和第四个图例,并将它们显示在右上角。
相关问题
seaborn 图例放在图外
Seaborn是一个基于matplotlib的数据可视化库,它提供了丰富的统计图形。如果想让seaborn的图例(legend)显示在图表之外,可以利用`legend_out=True`选项创建一个新的图例框,并将其放置在您想要的位置。下面是一个简单的例子:
```python
import seaborn as sns
import matplotlib.pyplot as plt
# 创建数据
df = sns.load_dataset("iris")
sns.set_theme(style="whitegrid")
# 绘制散点图,然后将图例移出
g = sns.scatterplot(data=df, x="sepal_length", y="petal_width", hue="species")
plt.legend(outside=(1, 0.5), frameon=False) # 设置图例在右侧上半部分
# 显示图形
plt.show()
```
在这个示例中,`outside`参数接受两个值,分别对应x轴方向和y轴方向的比例偏移,负数表示向左或向下移动。`frameon=False`会移除边框。
阅读全文