それはあなたが使用している海の機能に少し依存します。
シーボーンのプロット関数は、大きく2つのクラスに分類されます。
- 「軸レベル」などの機能を、
regplot
、boxplot
、kdeplot
、および他の多く
- 「図レベル」を含む関数、
lmplot
、factorplot
、jointplot
1つのまたは2つの他のもの
最初のグループは、明示的なax
引数を取り、Axes
オブジェクトを返すことによって識別されます。これが示唆するように、あなたAxes
にそれらを渡すことによって「オブジェクト指向」スタイルでそれらを使うことができます:
f, (ax1, ax2) = plt.subplots(2)
sns.regplot(x, y, ax=ax1)
sns.kdeplot(x, ax=ax2)
軸レベルの関数はにのみ描画し、Axes
それ以外の場合はFigureを台無しにすることはないため、オブジェクト指向のmatplotlibスクリプトで完全に楽しく共存できます。
関数の2番目のグループ(図レベル)は、結果のプロットに、常に「意味のある」方法で編成された複数の軸が含まれる可能性があるという事実によって区別されます。これは、関数がFigureを完全に制御する必要があることを意味します。そのため、たとえば、lmplot
既に存在するものにプロットすることはできません。関数を呼び出すと、常にFigureが初期化され、描画する特定のプロット用に設定されます。
ただし、を呼び出すとlmplot
、型のオブジェクトが返されますFacetGrid
。このオブジェクトには、結果のプロットを操作するいくつかのメソッドがあり、プロットの構造について少し知っています。またFacetGrid.fig
、FacetGrid.axes
引数と引数で基になるFigureと軸の配列を公開します。jointplot
機能は非常に似ていますが、使用するJointGrid
オブジェクトを。したがって、これらの関数をオブジェクト指向のコンテキストで引き続き使用できますが、すべてのカスタマイズは、関数を呼び出した後に行う必要があります。