python - 更改 matplotlib 散点图的默认边缘颜色
问题描述
我正在寻找一种方法来更改matplotlib 散点图的默认边缘颜色。通常,这样的事情会通过 设置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 使其使用白色边缘作为后备如果我不指定其他任何内容。令人困惑的是,文档在函数签名中使用了默认参数edgecolors=None
,但声明默认值为edgecolors
is 'face'
。我怎样才能改变这种行为?
解决方案
您正在寻找的 rc 参数称为
'scatter.edgecolors'
例如 plt.rcParams['scatter.edgecolors'] = "white"
或
with plt.rc_context({'scatter.edgecolors': 'white'}):
。
这是#12992中引入的新功能,可从matplotlib 3.1开始使用,该功能将很快发布。到今天为止,您可以通过安装候选版本pip install --pre --upgrade matplotlib
来获得此功能。
推荐阅读
- powershell - 从 powershell 向 cmd 传递命令
- selenium-webdriver - 未使用 xpath 选中复选框,它会打开链接
- rest - Magento 1.* rest API php oauth 身份验证
- python - Unicode 编码错误 'latin-1' 编解码器无法在位置 4939 对字符 u'\u2013' 进行编码:序数不在范围内(256)
- reactjs - 如何在 TypeScript 中获取 GraphQL 架构
- php - 如果密码验证条件中的条件在 php 中无法正常工作
- php - MySQL 上的 SELECT 不适用于我的 PHP 脚本,但适用于 phpmyadmin
- xamarin - Xamarin Java 库绑定问题
- excel - Excel VBA 编辑注释(如果存在)
- javascript - 结合单选按钮和文本字段