Cómo agregar un título a un diagrama de caja de Seaborn

3 minutos de lectura

avatar de usuario
Esta muy frío

he probado los dos sns.boxplot('Day', 'Count', data= gg).title('lalala') y sns.boxplot('Day', 'Count', data= gg).suptitle('lalala'). Ninguno funcionó. Creo que podría ser porque también estoy trabajando con Matplotlib.

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

avatar de usuario
La Importancia De SerErnest

Un diagrama de caja de Seaborn devuelve un Matplotlib hachas instancia. A diferencia de Pyplot, que tiene un método plt.title()el argumento correspondiente para una hachas es ax.set_title(). Por lo tanto, debe 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 podría usar la instancia de ejes devuelta para que sea más legible:

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

  • es una pena set_title() y funciones similares no return selfeso estaría bien.

    – Laurens Koppenol

    29 de agosto de 2019 a las 11:33

  • El credo de @LaurensKoppenol Matplotlib es devolver el objeto que el método crea o manipula. Esta es una cuestión de flexibilidad; y matplotlib explícitamente quiere dar 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.

    – La Importancia De Ser Ernesto

    29 de agosto de 2019 a las 11:41

  • al combinar las diversas interfaces que tiene matplotlib, definitivamente estoy de acuerdo

    – Laurens Koppenol

    29 de agosto de 2019 a las 11:45

  • AttributeError: el objeto ‘FacetGrid’ no tiene el atributo ‘set_title’

    – Tonto ML

    20 de agosto de 2020 a las 15:04

  • @DumbML ¿estás seguro de que estabas usando un boxpot? Esto no funciona con todos los métodos de generación de gráficos de seaborn. En particular, probé esto con lmplot y no funcionó (Mismo error)

    –Kelly Brower

    19 de julio a las 21:21

avatar de usuario
akhil penta

La función sns.boxplot() devuelve un objeto Axes(matplotlib.axes.Axes). Consulte el documentación.

Puede agregar un título usando el método ‘establecer’ como se muestra a continuación:

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

También puede agregar otros parámetros, como xlabel e ylabel al establecer método:

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 el documentación de matplotlib.axes.Axes para agregar mosaicos, leyendas y etiquetas.

  • Esta es una buena solución ya que también funciona para sns.relplot().

    –James Brusey

    8 de octubre de 2020 a las 10:43


Intenta agregar esto al final de tu código:

import matplotlib.pyplot as plt

plt.title('add title here')

  • quizás la mejor solución, seguramente no puramente sns -ish, pero sin prisas y simple. Gracias

    – corredor de datos

    10 de noviembre de 2021 a las 20:37

avatar de usuario
Shrm

Para un solo diagrama 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')

Por ejemplo,

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

avatar de usuario
Kranthi

.set_title(”) se puede usar para agregar un título a una trama de Seaborn:

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

avatar de usuario
Pedro Mortensen

Prueba esto:

import seaborn as sns
g = sns.catplot(x='Day', y='Count', data=gg)
g.set_title('LaLa')

¿Ha sido útil esta solución?