如何在设置样式表后恢复matplotlib默认值

amd*_*amd 43 python matplotlib

在ipython笔记本中,我使用了matplotlib样式表来改变我的绘图外观

from matplotlib.pyplot import *
%matplotlib inline
style.use('ggplot')
Run Code Online (Sandbox Code Playgroud)

我的matplotlib版本是1.4.0.如何返回默认的matplotlib样式?我尝试了所有可用的样式

print style.available 
Run Code Online (Sandbox Code Playgroud)

但似乎没有"默认"选项.我也试过了

matplotlib.rcdefaults() 
Run Code Online (Sandbox Code Playgroud)

出于某种原因,这给了我一个灰色的背景.它还将文本从灰色(ggplot样式)更改为黑色,这可能是默认值,但也可能是另一种随机样式.

CT *_*Zhu 59

您应该能够通过以下方式将其设置回默认值:

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

ipython,事情有点不同,尤其是inline后端:

In [1]:

%matplotlib inline
In [2]:

import matplotlib as mpl
import matplotlib.pyplot as plt
In [3]:

inline_rc = dict(mpl.rcParams)
In [4]:

plt.plot(range(10))
Out[4]:
[<matplotlib.lines.Line2D at 0x72d2510>]
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

In [5]:

mpl.rcParams.update(mpl.rcParamsDefault)
plt.plot(range(10))
Out[5]:
[<matplotlib.lines.Line2D at 0x7354730>]
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

In [6]:

mpl.rcParams.update(inline_rc)
plt.plot(range(10))
Out[6]:
[<matplotlib.lines.Line2D at 0x75a8e10>] 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

基本上,%matplotlib inline使用它自己的rcParams.你可以从源代码中获取它,但可以说是更简单的方法可能就是在这个例子中保存rcParamsas inline_rcafter %matplotlib inlinecell magic,并在以后重用它.


小智 5

实际上有一个default。但未在下列出plt.style.available。只需运行:

plt.style.use('default')
Run Code Online (Sandbox Code Playgroud)

它将样式恢复为Jupyter Notebook中的默认Matplotlib设置。