Matplotlib scatter():大小,标记形状的默认值

Dmi*_*tri 5 python matplotlib

有没有办法为matplotlib 设置默认标记size(s)参数plt.scatter()(或同样设置标记的形状)?

mpl.rcParams.keys() 有线图的设置,例如

import matplotlib as mpl
mpl.rcParams['lines.marker']='D'
Run Code Online (Sandbox Code Playgroud)

......但它们似乎并不相关plt.scatter().

谢谢.

澄清:

我想使用类似的配置机制mpl.rcParams(),或其他一些合理的文明方法.本地修改库代码不是它.

另一方面,如果当前无法完成并且有人向Matplotlib提交补丁,那将是非常棒的.

Leb*_*Leb 6

当然有,都在pyplot.py中

他们的代码片段:

def scatter(x, y, s=20, c=None, marker='o', cmap=None, norm=None, vmin=None,
            vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None,
            hold=None, data=None, **kwargs):
Run Code Online (Sandbox Code Playgroud)

大小设置为 20 s=20,标记形状为圆形marker='o',与他们的文档一致

  • 问题指出“本地修改库代码不是这样”,我想这就是你的建议,@Leb,对吗? (3认同)
  • ...不知道这有什么帮助。我的问题是关于设置**默认**大小;不是在 scatter() 的特定调用中执行此操作 (2认同)

小智 6

在当前版本中,标记大小定义为:

“标记大小以磅为单位**2。默认值为 rcParams['lines.markersize'] ** 2。”

因此,设置 rcParams['lines.markersize'] 现在也应该更改散点图的默认标记大小。请参阅https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.scatter.html