python seaborn将重置回matplotlib

python seaborn将重置回matplotlib,python,matplotlib,marker,seaborn,Python,Matplotlib,Marker,Seaborn,我使用的是seaborn版本o.4和matplotlib版本1.42 我有一个图表,通过简单的绘图命令显示线条和标记 plt.plot([1,5,3,8,4],'-bo'); 由于一个潜在的bug(),在导入seaborn之后,相同的代码只显示没有标记的行 import seaborn as sb plt.plot([1,5,3,8,4],'-bo'); 因此,我的问题是:导入seaborn后,是否有办法将所有参数重置回原始状态?是的,请调用。刷新Matplotlib在seaborn中

我使用的是seaborn版本o.4和matplotlib版本1.42 我有一个图表,通过简单的绘图命令显示线条和标记

plt.plot([1,5,3,8,4],'-bo');
由于一个潜在的bug(),在导入seaborn之后,相同的代码只显示没有标记的行

import seaborn as sb 
plt.plot([1,5,3,8,4],'-bo');


因此,我的问题是:导入seaborn后,是否有办法将所有参数重置回原始状态?

是的,请调用。

刷新Matplotlib在seaborn中经常遇到的配置副作用:

import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
运行以下命令:

import importlib
importlib.reload(mpl); importlib.reload(plt); importlib.reload(sns)
对于旧Python2代码:

import imp
imp.reload(mpl); imp.reload(plt); imp.reload(sns)
注意:以下各项均不能正确恢复matplotlib的状态:

  • sns.reset_orig()
  • sns.reset_defaults()
  • mpl.rcParams.update(mpl.rcParamsDefault)

只需调用
seaborn.set()
函数,无需函数参数,请参见
[seaborn tutorial][1]
在使用seaborn更改样式之前,您可以保存所需的
rcParams
(请注意,seaborn在导入时不再更改
rcParams
):

请注意,这两个

mpl.rcParams.update(mpl.rcParamsOrig)
mpl.rcParams.update(mpl.rcParamsDefault)
将几乎所有的
rcParams
恢复为其默认值。可以很容易地查看少数几个不同的内容(我在Jupyter笔记本中运行了此功能):


在我的例子中,当我使用
rc
属性进行更改时,我正在搜索重置输出的绘图大小。使用以下代码重置为默认大小
sns.reset_defaults()
(其中sns是seaborn)。

这些解决方案都不适合我(Python 3.x,Jupyter)。 有效的方法是
matplotlib.rc\u文件\u默认值()


请参阅此处的文档:

您可以通过执行以下操作将其设置回默认值:

import matplotlib as mpl
mpl.rcParams.update(mpl.rcParamsDefault)
另外,请查看Jake VanderPlas,了解有关自定义matplotlib的更多信息


希望有帮助

这类功能正常,但在导入seaborn和seaborn.reset_orig()之后绘制的绘图与在这些行之前绘制的绘图看起来仍有很大不同。是否有一种方法可以消除所有seaborn效果,就好像它从未被导入过一样?
Importlib
导入很好,但是当我尝试使用
reload
时,我得到了
AttributeError:“module”对象没有属性“reload”
。这仅在Python3.x中可用吗?doh为Python2更新:import imp;imp.reload(somemodule)供近期阅读本文的人使用:我在Jupyter中尝试了几种不同版本的matplotlib和seaborn,但都无法使用,我认为这不是一个通用的解决方案(可能以前是)。这不起任何作用。我在回复时,上面提供的解决方案是有效的。没有必要否决我。这个解决方案在Python 3中对我有效<代码>seaborn.reset_orig不起作用。正确的链接现在可用
# Differences between current params and `Default`
for key in mpl.rcParamsDefault:
    if not mpl.rcParamsDefault[key] == mpl.rcParams[key]:
        print(key, mpl.rcParamsDefault[key], mpl.rcParams[key])

## backend agg module://ipykernel.pylab.backend_inline
## figure.dpi 100.0 72.0
## figure.edgecolor w (1, 1, 1, 0)
## figure.facecolor w (1, 1, 1, 0)
## figure.figsize [6.4, 4.8] [6.0, 4.0]
## figure.subplot.bottom 0.11 0.125
# Differences between `Default` and `Orig`
for key in mpl.rcParamsDefault:
    if not mpl.rcParamsDefault[key] == mpl.rcParamsOrig[key]:
        print(key, mpl.rcParamsDefault[key], mpl.rcParamsOrig[key])

## backend agg Qt5Agg
import matplotlib as mpl
mpl.rcParams.update(mpl.rcParamsDefault)