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.