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.