55

我正在使用 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 之后,有没有办法将所有参数重置为原始参数?

4

7 回答 7

44

是的,打电话seaborn.reset_orig

于 2014-11-13T02:43:55.313 回答
27

这些解决方案都不适合我(Python 3.x、Jupyter)。起作用的是matplotlib.rc_file_defaults()

请参阅此处的文档:https ://matplotlib.org/stable/api/matplotlib_configuration_api.html#matplotlib.rc_file_defaults

于 2019-10-15T11:14:06.413 回答
10

刷新 Seaborn 经常遇到的 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)
于 2016-08-19T23:35:15.710 回答
4

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

于 2019-06-24T15:55:49.103 回答
3

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

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

此外,查看Jake VanderPlas 的这篇文章,了解有关自定义 matplotlib 的更多信息。

希望能帮助到你!

于 2020-05-15T20:11:04.267 回答
3

在使用 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 Notebook 中运行此程序):

# 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
于 2017-10-18T03:15:51.020 回答
-4

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

于 2016-10-09T10:54:30.220 回答