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

时间:2014-10-16 20:19:43

标签: python matplotlib

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

from matplotlib.pyplot import *
%matplotlib inline
style.use('ggplot')

我的matplotlib版本是1.4.0。如何返回默认的matplotlib样式?我尝试了

中的所有可用样式
print style.available 

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

matplotlib.rcdefaults() 

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

3 个答案:

答案 0 :(得分:52)

您应该可以通过以下方式将其设置为默认值:

import matplotlib as mpl
mpl.rcParams.update(mpl.rcParamsDefault)

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>]

enter image description here

In [5]:

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

enter image description here

In [6]:

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

enter image description here

基本上,%matplotlib inline使用自己的rcParams。您可以从源代码中获取该内容,但可以说更简单的方法可能是在此示例中将rcParams保存为inline_rc %matplotlib inline格式魔法之后的{{1}},并稍后重复使用。

答案 1 :(得分:7)

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

plt.style.use('default')

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

答案 2 :(得分:0)

inlinematplotlib的默认值加到answer by CT Zhu上是(对于每个不同的项目,将给出一个包含相应值的列表):

inline_default_rc = dict(mpl.rcParams)
default_rc = dict(mpl.rcParamsDefault)
print( {k:[v,default_rc[k]] for k,v in inline_default_rc.items() if v != default_rc[k]} )

{'figure.dpi': [72.0, 100.0], 'figure.edgecolor': [(1, 1, 1, 0), 'white'], 'figure.facecolor': [(1, 1, 1, 0), 'white'], 'figure.figsize': [[6.0, 4.0], [6.4, 4.8]], 'figure.subplot.bottom': [0.125, 0.11], 'interactive': [True, False]}

您可以使用它来微调您的绘图。