将 matplotlib.rcParams 字典正确重置为其原始默认值

uho*_*hoh 6 matplotlib python-3.x

这个答案提到

fig = plt.figure()
fig.patch.set_facecolor('black')
Run Code Online (Sandbox Code Playgroud)

或者

plt.rcParams['figure.facecolor'] = 'black'
Run Code Online (Sandbox Code Playgroud)

将更改 rcParams 字典中键“figure.facecolor”的值。

假设我的脚本基于用户交互以不确定的方式对值进行了多次更改,并且我想撤消所有这些更改并返回到 matplotlib 的默认参数和行为。

在脚本的开头,我可以检查matplotlib.rcParams并存储整个字典或某些键的值,然后一次恢复一个或使用方法恢复它们.update(),但我不知道这是否明智,因为我不知道该实例还matplotlib.RcParams可以如何使用(它不仅仅是一个字典)。它确实有一个.setdefault()方法,但我不明白它会返回什么帮助:

Help on method setdefault in module collections.abc:

setdefault(key, default=None) method of matplotlib.RcParams instance
    D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D
Run Code Online (Sandbox Code Playgroud)

是否有某种恢复原始默认值的功能,或者我应该通过使用我存储的副本更新整个内容来进行即兴发挥?

Rah*_*l P 17

根据我对如何在设置样式表后恢复 matplotlib 默认值的理解和答案,您应该能够执行以下操作:

import matplotlib
matplotlib.rcParams.update(matplotlib.rcParamsDefault)
Run Code Online (Sandbox Code Playgroud)

您还可以检查site-packages/matplotlib/mpl-data名为 matplotlibrc.txt 的文件的文件夹。它应该有完整的默认值。

  • 当我将其包含在笔记本(Jupyter Lab v3.2.1)中时,在重置内核之前,数字不再显示。 (2认同)