Cómo agregar un título a la gráfica de caja de seaborn


108

Parece bastante Googleable, pero no he podido encontrar algo en línea que funcione.

He probado ambos sns.boxplot('Day', 'Count', data= gg).title('lalala')y sns.boxplot('Day', 'Count', data= gg).suptitle('lalala'). Ninguno funcionó. Creo que podría deberse a que también estoy trabajando con matplotlib.

Respuestas:


188

El diagrama de caja de Seaborn devuelve una instancia de ejes de matplotlib. A diferencia del propio pyplot, que tiene un método plt.title(), el argumento correspondiente para un eje es ax.set_title(). Por lo tanto, debes llamar

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

Un ejemplo completo sería:

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()

Por supuesto, también puede usar la instancia de ejes devueltos para hacerla más legible:

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

4
es una pena set_title()y funciones similares no return self, eso sería genial.
— Laurens Koppenol

El credo de @LaurensKoppenol Matplotlib es devolver el objeto que el método crea o manipula. Ésta es una cuestión de flexibilidad; y matplotlib explícitamente quiere darles a los usuarios esta flexibilidad. Las API de más alto nivel que se encuentran encima de matplotlib a menudo deciden permitir el encadenamiento, pero en esos casos, tiene problemas para manipular los objetos subyacentes cuando desea un comportamiento no estándar.
— ImportanceOfBeingErnest

al combinar las diversas interfaces matplotlib definitivamente estoy de acuerdo
— Laurens Koppenol

AttributeError: el objeto 'FacetGrid' no tiene atributo 'set_title'
— Dumb ML

29

Intente agregar esto al final de su código:

import matplotlib.pyplot as plt

plt.title('add title here')

10

La función sns.boxplot () devuelve el objeto Axes (matplotlib.axes.Axes). Consulte la documentación , puede agregar un título usando el método 'set' como se muestra a continuación:

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

también puede agregar otros parámetros como xlabel, ylabel al método set.

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

Hay algunos otros métodos como se menciona en la documentación matplotlib.axes.Axes para agregar mosaicos, leyendas y etiquetas.


7

Para una sola gráfica de caja:

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

Para más diagramas de caja en el mismo diagrama:

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

p.ej

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

4

.set_title ('') se puede usar para agregar un título a Seaborn Plot

import seaborn as sb
sb.boxplot().set_title('Title')
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.