我正在寻找一种更改matplotlib散点图的 default 边缘颜色的方法。通常,类似的事情将通过rcParams
进行设置,而我的理解是我应该设置patch.edgecolor
。但是,这似乎不起作用。这是一个示例:
import numpy as np
from matplotlib import pyplot as plt
x = np.random.randn(50)
y = np.random.randn(50)
with plt.rc_context({'patch.edgecolor': 'white'}):
plt.subplot(121)
plt.scatter(x, y)
plt.subplot(122)
plt.scatter(x, y, edgecolors='white')
结果,我希望两个子图看起来都一样,但是它们看起来像这样:
请注意,我不想更改with
语句中的代码,而是配置matplotlib,以便在我不指定其他任何内容的情况下使用白色边作为后备。令人困惑的是,documentation在函数签名中使用默认参数edgecolors=None
,但指出edgecolors
的默认值为'face'
。我该如何改变这种行为?
答案 0 :(得分:1)
您要查找的rc参数称为
'scatter.edgecolors'
例如plt.rcParams['scatter.edgecolors'] = "white"
或
with plt.rc_context({'scatter.edgecolors': 'white'}):
。
这是#12992中引入的一项新功能,可从 matplotlib 3.1 开始使用,并将很快发布。从今天开始,您可以通过pip install --pre --upgrade matplotlib
安装候选版本以获得此功能。