Seaborn Facet Plot'a başlık nasıl eklenir


106

Bu Seaborne planına nasıl başlık ekleyebilirim? Ona bir ünvanım verelim.

tips = sns.load_dataset("tips")
g = sns.FacetGrid(tips, col="sex", row="smoker", margin_titles=True)
g.map(sns.plt.scatter, "total_bill", "tip")

arsa

Yanıtlar:


180

Bu satırlardan sonra:

plt.subplots_adjust(top=0.9)
g.fig.suptitle('THIS IS A TITLE, YOU BET') # can also get the figure from plt.gcf()

Ekseni ayarlamadan bir üst başlık eklerseniz, deniz kenarı faset başlıkları bununla örtüşür.

(Farklı verilerle):

görüntü açıklamasını buraya girin


6
Bu benim için çalıştı ama plt.subplots_adjust(top=0.8)yerine kullanmak zorunda kaldım top=0.9.
Mack

5
suptitleayrıca bir yparametresi vardır. Bu benim için çalıştı:g.fig.suptitle('foo', y=1.05)
trianta2

1
col_wrapHem şekil hem de son eksen alt grafiği (sağ altta) aynı başlığı devralacağı için kullanırsanız bu işe yaramaz .
xApple

Kesinlikle, col_wrap ile iyi çalışmıyor.
Sören


25

İpython not defterinde, bu benim için çalıştı!

sns.plt.title('YOUR TITLE HERE')

10
Bunu denedim ve sağ alttaki şekle bir başlık ekledi, tüm şekle değil
crypdick

13
Paket pltüzerinden erişim sns0.8.1'de kullanımdan kaldırılmıştır. Bu, kullanılarak yapılmalıdırplt.title('YOUR TITLE HERE')
Mack

2
AttributeError: 'seaborn' modülünün 'plt' niteliği yok
xApple

AttributeError: 'seaborn' modülünün 'plt' niteliği yok
seralouk

3

Benim için işe yarayan şuydu:

sns.plt.suptitle('YOUR TITLE HERE')


2
AttributeError: 'seaborn' modülünün 'plt' niteliği yok
xApple

1
AttributeError: 'seaborn' modülünün 'plt' niteliği yok
seralouk

0

Cevaplar kullanılıyor sns.plt.title()ve sns.plt.suptitle()artık çalışmıyor.

Bunun yerine, matplotlib'in title()işlevini kullanmanız gerekir :

import matplotlib.pyplot as plt
sns.FacetGrid(<whatever>)
plt.title("A title")

1
Bu, başlığı benim için doğru konuma getirmiyor.
Gabriel Romon

4
Denedin plt.suptitle()mi
crypdick

Cevabınız, son eksen alt grafiğinin başlığını etkilediği için çalışmıyor (sağ altta). Öneriniz plt.suptitle()ayrıca son eksenleri ve ana figürü değiştirir.
xApple

0
plt.suptitle("Title") 

veya

plt.title("Title")

Bu benim için çalıştı.


İkinci çözüm işe yaramazken, ilk çözüm, üst başlık ve özellik başlıklarının çirkin bir karışımını oluşturuyor. Koordinatları kullanmanız gerekir.
MERose

0

Başlık, alt alan başlıklarıyla ortalanmayacaktır. Başlığın konumunu ayarlamak için kullanabilirsiniz plt.suptitle("Title", x=center)

Benim durumumda, alt grafiklerim 2x1'lik bir ızgaradaydı, bu nedenle bbox = g.axes[0,0].get_position()sınırlayıcı kutuyu bulmak için kullanabildim ve sonracenter=0.5*(bbox.x1+bbox.x2)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.