set_title
La función set_titles
permite agregar títulos a gráficos creados con seaborn, tal y como se muestra en el siguiente ejemplo.
import seaborn as sns
df = sns.load_dataset("tips")
sns.scatterplot(x = "total_bill",
y = "tip", data = df).set_title("Título")
# Equivalente a:
ax = sns.scatterplot(x = "total_bill",
y = "tip", data = df)
ax.set_title("Título")
Tamaño, estilo y color
El argumento fontdict
de la función permite personalizar el tamaño, estilo y color del título, pasando un diccionario con los valores deseados.
import seaborn as sns
df = sns.load_dataset("tips")
sns.scatterplot(x = "total_bill",
y = "tip", data = df).set_title("Título",
fontdict = {'fontsize': 20, # Tamaño
'fontweight': 'bold', # Estilo
'color': 'red'}) # Color
Ajuste horizontal
Ten en cuenta que la función también proporciona el argumento loc
, que por defecto es "center"
pero también puede ser "right"
para mover el título horizontalmente a la derecha o "left"
, para moverlo a la izquierda.
import seaborn as sns
df = sns.load_dataset("tips")
sns.scatterplot(x = "total_bill",
y = "tip", data = df).set_title("Título",
loc = "right")
Usando expresiones matemáticas
Además, es posible utilizar expresiones matemáticas en el título, tal y como se muestra en el ejemplo siguiente.
import seaborn as sns
df = sns.load_dataset("tips")
sns.scatterplot(x = "total_bill",
y = "tip", data = df).set_title("r'$\alpha = \delta$'")
suptitle
Si estás creando varios gráficos sobre la misma figura puedes agregar un título general para ellas. Para ello puedes utilizar la función suptitle
del atributo fig
del gráfico.
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset("tips")
ax = sns.relplot(x = "total_bill", y = "tip", col = "time", data = df)
# Título para ambos gráficos
ax.fig.suptitle("Título general")
Puede que hayas notado que el título en la visualización anterior estaba un poco bajo. Si quieres ajustarlo puedes utilizar la función subplots_adjust
de la siguiente manera:
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset("tips")
ax = sns.relplot(x = "total_bill", y = "tip", col = "time", data = df)
# Ajuste
ax.fig.subplots_adjust(top = 0.8)
# Título para ambos gráficos
ax.fig.suptitle("Título general")
También te puede interesar