更改 sns 散点图中的图例

Posted

技术标签:

【中文标题】更改 sns 散点图中的图例【英文标题】:Changing the legend in an sns scatterplot 【发布时间】:2020-12-01 00:59:23 【问题描述】:

我正在使用 seaborn 的散点图来创建以下可视化:

sns.scatterplot(x="page", y="length", hue="% of marginal annotations", size="% of marginal annotations", legend="brief", data=df, palette = cmap, s=40, alpha=.6, sizes=(20, 200)).set(xlabel='Folio number', ylabel='Length')

当设置为“简要”时,图例会将数据分解为 40% 的增量,从 0 到... 120!我担心这个传说会误导读者认为我的一些数据点高于 100%(从来没有这种情况)。如何更改图例,使其呈现从 0 到 100% 的不同大小?

【问题讨论】:

【参考方案1】:

如果您确信您的 "% of marginal annotations" 数据点没有一个超过 100%,那么您可以简单地添加 .legend(range(0, 125, 25)),实质上定义了应该在图例中包含哪些值。

fig, ax = plt.subplots()
ax = sns.scatterplot(x="page", y="length", hue="% of marginal annotations",
                     size="% of marginal annotations", legend="brief", data=df,
                     palette = cmap, s=40, alpha=.6, sizes=(20, 200))
ax.set(xlabel='Folio number', ylabel='Length')
ax.legend(range(0, 125, 25))

【讨论】:

.legend(range(0, 125, 25)) 提供了所需的比例,但图例键现在的顺序错误。现在在 0 旁边是一个大点,在 25 旁边什么都没有,通常在 0 旁边找到的小点现在在 50 旁边,等等。

以上是关于更改 sns 散点图中的图例的主要内容,如果未能解决你的问题,请参考以下文章

更改 Seaborn 散点图中的图例位置和标签

Pandas Matplotlib:如何更改散点图中图例的形状和大小?

使用 Seaborn 抛光散点图图例

如何删除图例的特定部分(seaborn,散点图)

R语言散点图可视化:自定义标题和标签拟合回归线lowess为散点图添加平滑拟合线修改散点图中点颜色和点符号分组散点图添加图例pairs可视化散点图矩阵ggplt2可视化lattice

如何在python的散点图中添加具有不同标记的多个图例?