Itu sedikit tergantung pada fungsi dasar laut yang Anda gunakan.
Fungsi plotting di seaborn secara luas dibagi menjadi dua kelas
- "Axes-level" fungsi, termasuk
regplot
, boxplot
, kdeplot
, dan banyak lainnya
- "Gambar-level" fungsi, termasuk
lmplot
, factorplot
, jointplot
dan satu atau dua orang lain
Grup pertama diidentifikasi dengan mengambil ax
argumen eksplisit dan mengembalikan Axes
objek. Seperti yang disarankan, Anda dapat menggunakannya dalam gaya "berorientasi objek" dengan meneruskannya Axes
kepada mereka:
f, (ax1, ax2) = plt.subplots(2)
sns.regplot(x, y, ax=ax1)
sns.kdeplot(x, ax=ax2)
Fungsi tingkat sumbu hanya akan menggambar ke Axes
dan tidak akan mengacaukan gambar, sehingga mereka dapat hidup berdampingan dengan bahagia dalam skrip matplotlib berorientasi objek.
Fungsi kelompok kedua (Tingkat gambar) dibedakan oleh fakta bahwa plot yang dihasilkan berpotensi mencakup beberapa Sumbu yang selalu diatur dengan cara yang "bermakna". Itu berarti bahwa fungsi harus memiliki kontrol penuh atas gambar tersebut, jadi tidak mungkin untuk merencanakan, katakanlah, lmplot
ke salah satu yang sudah ada. Memanggil fungsi selalu menginisialisasi gambar dan menyiapkannya untuk plot spesifik yang digambarnya.
Namun, setelah Anda menelepon lmplot
, itu akan mengembalikan objek tipe FacetGrid
. Objek ini memiliki beberapa metode operasi pada plot yang dihasilkan yang mengetahui sedikit tentang struktur plot. Ini juga mengekspos gambar yang mendasari dan array sumbu di FacetGrid.fig
dan FacetGrid.axes
argumen. The jointplot
Fungsi ini sangat mirip, tetapi menggunakan JointGrid
objek. Jadi Anda masih dapat menggunakan fungsi-fungsi ini dalam konteks berorientasi objek, tetapi semua penyesuaian Anda harus dilakukan setelah Anda memanggil fungsi tersebut.