Bagaimana cara menambahkan judul ke plot kotak seaborn

110

Tampaknya cukup Googleable tetapi belum dapat menemukan sesuatu yang berfungsi secara online.

Saya sudah mencoba keduanya sns.boxplot('Day', 'Count', data= gg).title('lalala')dan sns.boxplot('Day', 'Count', data= gg).suptitle('lalala'). Tidak ada yang berhasil. Saya pikir mungkin karena saya juga bekerja dengan matplotlib.

itu terlalu dingin
sumber

Jawaban:

187

Plot kotak Seaborn mengembalikan instance sumbu matplotlib. Tidak seperti pyplot itu sendiri, yang memiliki metode plt.title(), argumen terkait untuk sumbu adalah ax.set_title(). Oleh karena itu, Anda perlu menelepon

sns.boxplot('Day', 'Count', data= gg).set_title('lalala')

Contoh lengkapnya adalah:

import seaborn as sns
import matplotlib.pyplot as plt

tips = sns.load_dataset("tips")
sns.boxplot(x=tips["total_bill"]).set_title("LaLaLa")

plt.show()

Tentu saja Anda juga bisa menggunakan contoh sumbu yang dikembalikan agar lebih mudah dibaca:

ax = sns.boxplot('Day', 'Count', data= gg)
ax.set_title('lalala')
ax.set_ylabel('lololo')
ImportanceOfBeingErnest
sumber
4
itu memalukan set_title()dan fungsi serupa tidak return self, itu akan rapi.
Laurens Koppenol
Kredo @LaurensKoppenol Matplotlib adalah mengembalikan objek yang dibuat atau dimanipulasi metode. Ini adalah pertanyaan tentang fleksibilitas; dan matplotlib secara eksplisit ingin memberikan fleksibilitas ini kepada pengguna. Lebih banyak API tingkat tinggi yang berada di atas matplotlib sering kali memutuskan untuk mengizinkan perangkaian, tetapi dalam kasus tersebut Anda mengalami masalah dalam memanipulasi objek yang mendasarinya saat menginginkan perilaku non-standar.
ImportanceOfBeingErnest
ketika menggabungkan berbagai antarmuka matplotlib saya pasti setuju
Laurens Koppenol
AttributeError: Objek 'FacetGrid' tidak memiliki atribut 'set_title'
Dumb ML
30

Coba tambahkan ini di akhir kode Anda:

import matplotlib.pyplot as plt

plt.title('add title here')
Stefano Potter
sumber
13

sns.boxplot () mengembalikan objek Axes (matplotlib.axes.Axes). silakan lihat dokumentasi Anda dapat menambahkan judul menggunakan metode 'set' seperti di bawah ini:

sns.boxplot('Day', 'Count', data=gg).set(title='lalala')

Anda juga dapat menambahkan parameter lain seperti xlabel, ylabel ke metode set.

sns.boxplot('Day', 'Count', data=gg).set(title='lalala', xlabel='its x_label', ylabel='its y_label')

Ada beberapa metode lain seperti yang disebutkan dalam dokumentasi matplotlib.axes.Axes untuk menambahkan ubin, legenda, dan label.

akhil penta
sumber
8

Untuk satu plot kotak:

import seaborn as sb
sb.boxplot(data=Array).set_title('Title')

Untuk lebih banyak plot kotak di plot yang sama:

import seaborn as sb
sb.boxplot(data=ArrayofArray).set_title('Title')

misalnya

import seaborn as sb
myarray=[78.195229, 59.104538, 19.884109, 25.941648, 72.234825, 82.313911]
sb.boxplot(data=myarray).set_title('myTitle')
Shrm
sumber
4

.set_title ('') dapat digunakan untuk menambahkan judul ke Seaborn Plot

import seaborn as sb
sb.boxplot().set_title('Title')
Kranthi
sumber