首页 > 解决方案 > 更改 sns 散点图中的图例

问题描述

我正在使用 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')

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

标签: pythonseabornlegendscatter-plot

解决方案


如果您确信您的"% 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))

推荐阅读