Cara menambahkan judul ke Seaborn Facet Plot


96

Bagaimana cara menambahkan judul ke plot Seaborne ini? Mari kita beri judul 'I AM A TITLE'.

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

merencanakan

Jawaban:


167

Setelah garis-garis itu:

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

Jika Anda menambahkan judul tambahan tanpa menyesuaikan porosnya, judul segi dasar laut akan tumpang tindih.

(Dengan data berbeda):

masukkan deskripsi gambar di sini


6
Ini bekerja untuk saya tapi saya harus menggunakan plt.subplots_adjust(top=0.8)bukan top=0.9.
Mack

5
suptitlejuga memiliki yparameter. Ini berhasil bagi saya:g.fig.suptitle('foo', y=1.05)
trianta2

1
Ini tidak bekerja jika Anda menggunakan col_wrapkarena gambar dan subplot sumbu terakhir (kanan bawah) akan mewarisi judul yang sama.
xApple

25

Di notebook ipython, ini berhasil untuk saya!

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

10
Saya mencoba ini dan itu menambahkan judul ke gambar kanan bawah, bukan keseluruhan gambar
crypdick

12
Mengakses pltmelalui snspaket sudah tidak digunakan lagi di 0.8.1. Ini harus dilakukan dengan menggunakanplt.title('YOUR TITLE HERE')
Mack

2
AttributeError: modul 'seaborn' tidak memiliki atribut 'plt'
xApple

AttributeError: modul 'seaborn' tidak memiliki atribut 'plt'
seralouk


3

Apa yang berhasil bagi saya adalah:

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


2
AttributeError: modul 'seaborn' tidak memiliki atribut 'plt'
xApple

1
AttributeError: modul 'seaborn' tidak memiliki atribut 'plt'
seralouk

1
plt.suptitle("Title") 

atau

plt.title("Title")

Ini berhasil untuk saya.


Solusi kedua tidak berfungsi, sedangkan solusi pertama membuat interaksi judul suptitle dan facet yang jelek. Anda perlu menggunakan menggunakan koordinat.
MERose

0

Jawabannya menggunakan sns.plt.title()dan sns.plt.suptitle()tidak berfungsi lagi.

Sebagai gantinya, Anda perlu menggunakan title()fungsi matplotlib :

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

1
Ini tidak menyetel judul di lokasi yang benar untuk saya.
Gabriel Romon

4
Apakah kamu sudah mencobanya plt.suptitle()?
crypdick

Jawaban Anda tidak berfungsi karena memengaruhi judul subplot sumbu terakhir (kanan bawah). Saran Anda plt.suptitle()juga mengubah sumbu terakhir serta gambar utama.
xApple

0

Judul tidak akan rata tengah dengan judul subplot. Untuk mengatur posisi judul bisa Anda gunakan plt.suptitle("Title", x=center)

Dalam kasus saya, subplot saya berada dalam kisi 2x1, jadi saya dapat menggunakan bbox = g.axes[0,0].get_position()untuk menemukan kotak pembatas dan kemudiancenter=0.5*(bbox.x1+bbox.x2)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.