python - 更改 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% 的不同大小?
解决方案
如果您确信您的"% 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))
推荐阅读
- javascript - 使用 Vue 和 Django 处理错误
- json - 使用 JQ 时如何将计算值添加到导出的 csv?
- python - IndentationError:在 python 中需要一个缩进块
- flutter - Flutter 和 Amplify/Cognito:如何使用 Fluttter 在 Amplify/cognito 中更新电话号码
- javascript - 使用 IntersectionObserver 滚动太快弄乱滚动顶部和底部值
- python - python pandas在groupby中应用函数,并将结果添加为数据框中的列
- python - 使用简单的 OpenCV 代码但没有输出
- javascript - Storybook React SassError:预期的“{”
- machine-learning - 如何使用 MLJ.jl 库 (Julia) 使用输入样本的数量作为参数来计算学习曲线?
- ruby - 如何在 Ruby 中增加或减少时间?