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

Dat*_*Man 19 python matplotlib seaborn

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

我尝试在我的数据框中创建一个新的整数列,并将其设置为大小,但看起来实际值无关紧要,它会在相对基础上更改标记大小,因此在这种情况下,所有标记仍然是与默认大小相同.

编辑:这是一些代码

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

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

Xia*_* Lu 33

您可以通过为s参数赋值来更改标记大小.

例:

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

  • 哦,有趣的是,我没有意识到您可以将 matplotlib 参数添加到 seaborn 图中。我现在在文档中看到它说“其他关键字参数在绘制时传递给 plt.scatter”。谢谢! (2认同)
  • 不幸的是,这些关键字只会更改它们本身的标记,但不会更新图例。 (2认同)
  • @Sören 您可以使用 `ax.legend(prop={'size': 20})` 更新图例,希望有帮助 (2认同)

小智 7

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

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

plt.legend(markerscale=2)
Run Code Online (Sandbox Code Playgroud)