海生散点图

时间:2020-08-14 15:40:55

标签: python matplotlib seaborn

我想为seaborn的散点图做两件事。

  1. 更改图例标题,并从图例中删除系列名称。因此,请删除图例中显示的petal_length
  2. 更改图例的数字输出。更改为[0,4,8]

我该怎么做?

import seaborn as sns
cmap = sns.light_palette("green", as_cmap=True)
iris = sns.load_dataset("iris")
p=sns.scatterplot("sepal_length", "sepal_width",data=iris
                  ,hue="petal_length"
                  ,palette = cmap
                  )
p.set(xlabel='Sepal Len', ylabel='Sepal Width')
p.legend(title="Petal Length")
plt.show()

enter image description here

2 个答案:

答案 0 :(得分:0)

为地块添加标题 How to add title to seaborn boxplot

删除图例标题: Remove seaborn lineplot legend title

更改图例如何“存储桶”: 您已将色调设置为数据的一列。我会将长度分成新列中所需的组,然后将色相设置为新列。

答案 1 :(得分:0)

使用get_legend_handles_labels(),您可以获取要在图例中使用的手柄和标签的列表。然后,您可以创建图例,同时跳过句柄和标签的所有其他元素。

from matplotlib import pyplot as plt
import seaborn as sns

cmap = sns.light_palette("green", as_cmap=True)
iris = sns.load_dataset("iris")
ax = sns.scatterplot("sepal_length", "sepal_width", data=iris, hue="petal_length", palette=cmap)
ax.set_xlabel('Sepal Len'),
ax.set_ylabel('Sepal Width')
handles, labels = ax.get_legend_handles_labels()
ax.legend(handles[1::2], labels[1::2], title="Petal Length")
plt.show()

example plot