python seaborn重置回matplotlib

问题描述 投票:30回答:5

我正在使用seaborn版本o.4和matplotlib版本1.42我有一个图表通过简单的绘图命令显示行和标记,例如。

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

由于潜在的错误(https://github.com/mwaskom/seaborn/issues/344),在导入seaborn之后,相同的代码仅显示没有标记的行。

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

所以我的问题是:在导入seaborn之后,有没有办法将所有参数重置回原始状态?

python matplotlib marker seaborn
5个回答
27
投票

是的,请致电seaborn.reset_orig


7
投票

要刷新Seporn经常遇到的Matplotlib的配置副作用:

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)

1
投票

在使用seaborn更改样式之前,您可以保存所需的rcParams(请注意,seaborn在导入时不再更改rcParams):

import matplotlib as mpl

my_params = mpl.rcParams

# apply some change to the rcparams here

mpl.rcParams.update(my_params)

请注意这两个

mpl.rcParams.update(mpl.rcParamsOrig)
mpl.rcParams.update(mpl.rcParamsDefault)

几乎所有rcParams恢复到默认值。可以很容易地看到少数不同的东西(我在Jupyter笔记本中运行):

# 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

0
投票

在我的情况下,我正在寻找重置输出的绘图大小,特别是当我使用rc属性更改时使用以下代码重置为默认大小sns.reset_defaults()(其中sns是seaborn)。


-2
投票

可以简单地调用seaborn.set()函数,没有函数参数,请参阅[seaborn tutorial][1]

© www.soinside.com 2019 - 2024. All rights reserved.