matplotlibをラップしたseabornですが、seaborn.distplot
などの描画関数はmatplotlibのインポート時にグローバルに作成するAxesオブジェクトをデフォルトで参照します。
以下のようにaxキーワード引数に個別作成したAxesオブジェクトを渡すことで、こちらを参照するようになります。
import matplotlib.pyplot as plt
import seaborn as sns
fig = plt.figure()
ax1 = fig.add_subplot(1, 1, 1) # 明示的にAxesを作成する
sns.distplot(data, ax=ax1) # ax1を参照するようにする
ちなみに、デフォルトの動作は以下と等価です。plt.gca()
は、(現在アクティブな)グローバルに参照されるAxesオブジェクトを返します。
sns.distplot(data, ax=plt.gca())