我使用的是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之后,有没有办法将所有参数重置回原始状态?
答案 0 :(得分:24)
是的,请致电seaborn.reset_orig
。
答案 1 :(得分:7)
刷新Matablotlib在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的状态:
答案 2 :(得分: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
答案 3 :(得分:1)
就我而言,我正在尝试重设输出的打印大小,特别是当我使用rc
属性进行更改时,使用以下代码将其重设为默认大小sns.reset_defaults()
(其中sns是seaborn的)。
答案 4 :(得分:1)
这些解决方案都不适合我(Python 3.x,Jupyter)。
有效的是matplotlib.rc_file_defaults()
在此处查看文档:{{3}}
答案 5 :(得分:1)
您可以通过以下操作将它们设置为默认值:
import matplotlib as mpl
mpl.rcParams.update(mpl.rcParamsDefault)
另外,请从Jake VanderPlas上查看this post,以了解有关自定义matplotlib的更多信息。
希望有帮助!
答案 6 :(得分:-2)
可以简单地调用seaborn.set()
函数,没有函数参数,请参阅[seaborn tutorial][1]
。