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.