Seaborn 科学的なデータ表現にとって非常に興味深い、いくつかのグラフィックを提供します。したがって、他のカスタマイズされたmatplotlibプロットを散在させたこれらのSeabornグラフィックを使い始めました。問題は、私が一度やったことです:
import seaborn as sb
このインポートは、seabornのグラフィックパラメータをグローバルに設定しているようです。インポートの下にあるすべてのmatplotlibグラフィックは、seabornパラメータを取得します(背景が灰色、linewithdの変更など)。
SOには 答え matplotlib構成で海のプロットを作成する方法を説明していますが、両方のライブラリを一緒に使用するときにmatplotlib構成パラメーターを変更しないでおくことが必要です。同時に、必要に応じて、オリジナルの海のプロットを作成することができます。
seabornバージョン0.8(2017年7月) 現在、インポート時にグラフスタイルは変更されていません:
Seabornがインポートされるときに、デフォルトの[seaborn]スタイルは適用されなくなりました。
set()
または1つ以上のset_style()
、set_context()
、およびset_palette()
。これに対応して、_seaborn.apionly
_モジュールは非推奨になりました。
plt.style.use()
を使用して任意のプロットのスタイルを選択できます。
_import matplotlib.pyplot as plt
import seaborn as sns
plt.style.use('seaborn') # switch to seaborn style
# plot code
# ...
plt.style.use('default') # switches back to matplotlib style
# plot code
# ...
# to see all available styles
print(plt.style.available)
_
plt.style()
についてもっと読む。
seaborn
スタイルを使用したくないが、seaborn関数の一部が必要な場合は、次の行( documentation )を使用してseabornをインポートできます。
import seaborn.apionly as sns
同じスクリプトで、seaborn
スタイルのあるプロットとないプロットを作成する場合は、 seaborn.reset_orig
を使用してseaborn
スタイルをオフにすることができます。 =関数。
apionly
インポートを実行すると、基本的にインポート時にreset_orig
が自動的に設定されるようです。したがって、ユースケースで最も役立つのはあなた次第です。
matplotlib
デフォルトとseaborn
を切り替える例を次に示します。
import matplotlib.pyplot as plt
import matplotlib
import numpy as np
# a simple plot function we can reuse (taken from the seaborn tutorial)
def sinplot(flip=1):
x = np.linspace(0, 14, 100)
for i in range(1, 7):
plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
sinplot()
# this will have the matplotlib defaults
plt.savefig('seaborn-off.png')
plt.clf()
# now import seaborn
import seaborn as sns
sinplot()
# this will have the seaborn style
plt.savefig('seaborn-on.png')
plt.clf()
# reset rc params to defaults
sns.reset_orig()
sinplot()
# this should look the same as the first plot (seaborn-off.png)
plt.savefig('seaborn-offagain.png')
これにより、次の3つのプロットが生成されます。
スタイルガイド で説明されているように、matplotlib.style.context
機能を使用できます。
#%matplotlib inline #if used in jupyter notebook
import matplotlib.pyplot as plt
import seaborn as sns
# 1st plot
with plt.style.context("seaborn-dark"):
fig, ax = plt.subplots()
ax.plot([1,2,3], label="First plot (seaborn-dark)")
# 2nd plot
with plt.style.context("default"):
fig, ax = plt.subplots()
ax.plot([3,2,1], label="Second plot (matplotlib default)")
# 3rd plot
with plt.style.context("seaborn-darkgrid"):
fig, ax = plt.subplots()
ax.plot([2,3,1], label="Third plot (seaborn-darkgrid)")
すべてのRCパラメータを元の設定に復元する(カスタムrcを尊重する)ことは、 seaborn.reset_orig()
functionによって許可されます。