所有标记的seaborn散点图标记大小

Posted

技术标签:

【中文标题】所有标记的seaborn散点图标记大小【英文标题】:seaborn scatterplot marker size for ALL markers 【发布时间】:2019-03-18 00:20:23 【问题描述】:

我在任何地方都找不到如何更改 seaborn 散点图上的标记大小。在documentation 中列出了一个size 选项,但它仅适用于您想要跨点可变大小的情况。我希望所有点的大小都相同,但大于默认值!

我尝试在我的数据框中创建一个新的整数列并将其设置为大小,但看起来实际值并不重要,它会相对更改标记大小,所以在这种情况下所有标记仍然与默认大小相同。

编辑:这里有一些代码

ax = sns.scatterplot(x="Data Set Description", y="R Squared", data=mean_df)
plt.show()

我刚刚尝试了一些方法,但它确实有效,但不确定它是否是最好的方法。我添加了 size=[1, 1, 1, 1, 1, 1] 和 sizes=(500, 500)。所以基本上我将所有尺寸设置为相同,并且尺寸范围仅为 500。

【问题讨论】:

你是怎么策划的,你在策划什么?不知道这些,很难提供帮助 @Bazingaa 我添加了代码和找到的解决方案。不确定我是否应该回答我自己的问题... 文档字符串中肯定缺少该功能。 【参考方案1】:

您可以通过为 s 参数指定一个值来更改标记大小。

例子:

ax = sns.scatterplot(x="Data Set Description", y="R Squared", data=mean_df, s=10)

【讨论】:

哦,有趣,我没有意识到您可以将 matplotlib 参数添加到 seaborn 图中。我现在在文档中看到它说“其他关键字参数在绘制时传递给 plt.scatter”。谢谢! 不幸的是,这些关键字只会改变它们自己的标记,而不是更新图例。 @Sören 你可以用ax.legend(prop='size': 20) 更新图例,希望对你有帮助【参考方案2】:

关于图例大小的更新,我是通过matplotlib.pyplot.legend中的'markerscale'属性得到的

markerscalefloat,默认值:rcParams["legend.markerscale"] (默认值:1.0) 图例标记与原始绘制的相对大小。

plt.legend(markerscale=2)

【讨论】:

以上是关于所有标记的seaborn散点图标记大小的主要内容,如果未能解决你的问题,请参考以下文章

python--seaborn散点图

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

在 Plotly Express 散点图中将所有标记设置为相同的固定大小

seaborn可视化散点图并自定义图像的标题(title)以及自定义标题的字体大小(Set a Title to a Seaborn Plot)

seaborn可视化散点图并自定义数据轴标签指定标签文本的大小(X轴和Y轴的轴标签,Change X & Y Axis Label Size in a Seaborn Plot)

具有不同颜色编码和不同标记的 Sns 散点图