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, jointplotve bir ya da iki diğerleri
İlk grup, açık bir axargüman alarak ve bir Axesnesne döndürerek tanımlanır . Bundan da anlaşılacağı gibi, bunları onlara ileterek "nesne yönelimli" bir tarzda Axeskullanabilirsiniz:
f, (ax1, ax2) = plt.subplots(2)
sns.regplot(x, y, ax=ax1)
sns.kdeplot(x, ax=ax2)
Eksen düzeyindeki işlevler yalnızca Axesbir 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 lmplotzaten 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.figve FacetGrid.axesbağımsız değişkenlerindeki temel şekli ve eksen dizisini ortaya çıkarır . jointplotFonksiyonu çok benzer, ancak bir kullanan JointGridbir 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.