Seaborn 散点图
Posted
技术标签:
【中文标题】Seaborn 散点图【英文标题】:Seaborn Scatterplots 【发布时间】:2020-12-04 12:38:54 【问题描述】:我想为我在 seaborn 中的散点图做两件事。
-
更改图例标题并从图例中删除系列名称。所以删除图例中出现的
petal_length
更改图例的数字输出。更改为 [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()
【问题讨论】:
【参考方案1】:为情节添加标题 How to add title to seaborn boxplot
删除图例标题: Remove seaborn lineplot legend title
更改图例“桶”的方式: 您已将色调设置为一列数据。我会将长度存储到我想要的新列中的组中,然后将色调设置为新列。
【讨论】:
我应该澄清一下。我正在尝试删除图例标题“petal_length”而不是添加情节标题。我已更改问题以反映这一点。 请阅读已接受的答案,尤其是带有此代码的部分:handles, labels = ax.get_legend_handles_labels() ax.legend(handles=handles[1:], labels=labels[1:]) 【参考方案2】:使用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()
【讨论】:
这能回答你的问题吗?以上是关于Seaborn 散点图的主要内容,如果未能解决你的问题,请参考以下文章
100天精通Python(可视化篇)——第82天:matplotlib绘制不同种类炫酷散点图参数说明+代码实战(二维散点图三维散点图散点图矩阵)
R语言可视化:散点图散点图和折线图(line charts)3D散点图旋转3D散点图气泡图corrgram包可视化相关性矩阵马赛克图( Mosaic plots)hexbin密度图
seaborn使用jointplot函数为散点图添加边缘图为散点图添加边缘直方图(Marginal Plot in Python with Seaborn jointplot)