私は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をインポートした後、すべてのパラメータを元に戻す方法はありますか?
はい、 seaborn.reset_orig
。
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の状態を正しく復元しません。
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)
almost all 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
私の場合、rc
属性を使用して変更したときに出力のプロットサイズをリセットするために検索していました。次のコードを使用してデフォルトサイズsns.reset_defaults()
(snsはseabornです).