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