Kullandığınız seaborn işlevine biraz bağlıdır.
Seaborn'daki çizim işlevleri genel olarak iki sınıfa ayrılır
- "Eksen düzey" fonksiyonları da dahil olmak üzere
regplot
, boxplot
, kdeplot
, ve diğerleri
- "Şekil düzey" da dahil olmak üzere fonksiyonları
lmplot
, factorplot
, jointplot
ve bir ya da iki diğerleri
İlk grup, açık bir ax
argüman alarak ve bir Axes
nesne döndürerek tanımlanır . Bundan da anlaşılacağı gibi, bunları onlara ileterek "nesne yönelimli" bir tarzda Axes
kullanabilirsiniz:
f, (ax1, ax2) = plt.subplots(2)
sns.regplot(x, y, ax=ax1)
sns.kdeplot(x, ax=ax2)
Eksen düzeyindeki işlevler yalnızca Axes
bir nesnenin üzerine çekilir ve başka şekilde figürle uğraşmaz, böylece nesne yönelimli bir matplotlib betiğinde mükemmel bir şekilde mutlu bir şekilde bir arada var olabilirler.
İkinci fonksiyon grubu (Şekil seviyesi), ortaya çıkan grafiğin potansiyel olarak her zaman "anlamlı" bir şekilde organize edilmiş birkaç Ekseni içerebileceği gerçeğiyle ayırt edilir. Bu, fonksiyonların şekil üzerinde tam kontrole sahip olması gerektiği anlamına gelir, bu nedenle lmplot
zaten var olan bir tanesini çizmek, diyelim ki mümkün değildir . Fonksiyonu çağırmak her zaman bir şekli başlatır ve onu çizdiği belirli arsa için ayarlar.
Ancak, bir kez aradığınızda lmplot
, türünden bir nesne döndürür FacetGrid
. Bu nesnenin, arsanın yapısı hakkında biraz bilgi sahibi olan, ortaya çıkan arsa üzerinde çalışmak için bazı yöntemleri vardır. Ayrıca, FacetGrid.fig
ve FacetGrid.axes
bağımsız değişkenlerindeki temel şekli ve eksen dizisini ortaya çıkarır . jointplot
Fonksiyonu çok benzer, ancak bir kullanan JointGrid
bir nesne. Dolayısıyla, bu işlevleri nesne yönelimli bir bağlamda kullanmaya devam edebilirsiniz, ancak tüm özelleştirmeniz, işlevi çağırdıktan sonra gelmelidir.