Las gráficas de Seaborn cuentan por defecto con un estilo visual legible y elegante. Aunque puede que no se adapte a las necesidades específicas de algunos usuarios. Por eso es posible personalizar los estilos de visualización en Seaborn para que las gráficas se adapten a las necesidades y preferencias de cada usuario. En esta entrada, se verá cómo aplicar los estilos predefinidos y crear nuevos estilos personalizados en Seaborn.
Creación de un gráfico básico en Seaborn
A modo de ejemplo se puede crear un gráfico de dispersión básico en Seaborn con el estilo de visualización por defecto. Para estos se puede usar el polar conjunto de datos iris y representar el acto del sépalo frente a la longitud del sépalo en función de la especie. Algo que se puede hacer con el siguiente código.
import seaborn as sns import matplotlib.pyplot as plt # Cargar un conjunto de datos "iris" de Seaborn iris = sns.load_dataset("iris") # Crear un gráfico de ejemplo sns.scatterplot(x="sepal_length", y="sepal_width", hue="species", data=iris) # Mostrar el gráfico plt.show()
Aplicar un estilo predefinido
Seaborn ofrece múltiples estilos predefinidos que se pueden aplicar a las gráficas. Algunos de los más populares son:
"darkgrid"
: Este estilo presenta un fondo oscuro con líneas de cuadrícula visibles. Es útil para resaltar los datos y proporcionar un contraste nítido."whitegrid"
: Similar al estilo"darkgrid"
, pero con un fondo claro y líneas de cuadrícula visibles. Es adecuado para gráficos más claros y limpios."dark"
: Este estilo tiene un fondo oscuro sin líneas de cuadrícula visibles. Es útil cuando deseas enfocarte en los datos sin distracciones visuales."white"
: Este estilo tiene un fondo claro sin líneas de cuadrícula visibles. Es ideal para gráficos minimalistas y elegantes."ticks"
: Este estilo presenta marcas de ticks en los ejes, pero sin líneas de cuadrícula visibles. Es adecuado cuando deseas tener una referencia visual clara de las marcas de ticks en los ejes.
Estos son solo cinco de los estilos más populares en Seaborn, pero hay otros que se pueden consultar en la documentación de la biblioteca.
Para aplicar un estilo solamente se tiene que llamar a la función set_style()
con el nombre del estilo como parámetro. Todas las gráficas que se creen a partir de ese momento usarán el estilo indicado en lugar del valor por defecto. Así se puede ver como quedaría la gráfica usando el estilo "darkgrid"
# Aplicar el estilo "darkgrid" sns.set_style("darkgrid") # Crear un gráfico de ejemplo sns.scatterplot(x="sepal_length", y="sepal_width", hue="species", data=iris) # Mostrar el gráfico plt.show()
Alternativamente se puede ver como quedaría la gráfica con el estilo "whitegrid"
.
# Aplicar el estilo "whitegrid" sns.set_style("whitegrid") # Crear un gráfico de ejemplo sns.scatterplot(x="sepal_length", y="sepal_width", hue="species", data=iris) # Mostrar el gráfico plt.show()
Por lo que solamente queda probar varios estilos para seleccionar el que más se adapta a las necesidades y preferencias de cada usuario. Si no existe un estilo adecuado, siempre se puede crear uno nuevo.
Estilos personalizados en Seaborn
Para crear un estilo personalizado en Seaborn, se puede utilizar la función set_style()
. A esta función se le debe pasar un diccionario con las opciones de estilo que se deseen aplicar. Algunas de las principales opciones para crear un estilo personalizado en Seaborn son:
"axes.facecolor"
: Establece el color de fondo del área de trazado del gráfico."axes.edgecolor"
: Establece el color de los bordes del área de trazado del gráfico."axes.grid"
: Indica si se deben mostrar líneas de cuadrícula en el gráfico."grid.color"
: Establece el color de las líneas de cuadrícula."grid.linestyle"
: Establece el estilo de línea de las líneas de cuadrícula."grid.linewidth"
: Establece el ancho de línea de las líneas de cuadrícula."axes.spines.left"
: Indica si se deben mostrar los bordes izquierdos del área de trazado."axes.spines.bottom"
: Indica si se deben mostrar los bordes inferiores del área de trazado."axes.spines.right"
: Indica si se deben mostrar los bordes derechos del área de trazado."axes.spines.top"
: Indica si se deben mostrar los bordes superiores del área de trazado."xtick.bottom"
: Indica si se deben mostrar los ticks inferiores en el eje x."xtick.color"
: Establece el color de los ticks en el eje x."ytick.left"
: Indica si se deben mostrar los ticks izquierdos en el eje y."ytick.color"
: Establece el color de los ticks en el eje y."text.color"
: Establece el color del texto en el gráfico."font.family"
: Establece la familia de fuentes para el texto en el gráfico."font.size"
: Establece el tamaño de fuente para el texto en el gráfico.
Estas son algunas de las opciones que se usan para crear estilos personalizados en Seaborn, pero hay más que se pueden consultar en la documentación de la biblioteca. Así se puede crear un estilo personalizado y aplicarlo a las gráficas.
# Definir un diccionario con las opciones de estilo personalizado my_style = { "axes.facecolor": "#F7F7F7", "axes.edgecolor": "gray", "axes.grid": True, "grid.color": "white", "grid.linestyle": "--", "grid.linewidth": 0.5, "axes.spines.left": False, "axes.spines.bottom": False, "axes.spines.right": False, "axes.spines.top": False, "xtick.bottom": True, "xtick.color": "gray", "ytick.left": True, "ytick.color": "gray", "text.color": "black", "font.family": "Arial", "font.size": 12 } # Aplicar el estilo personalizado sns.set_style("white", my_style) # Crear un gráfico de ejemplo sns.scatterplot(x="sepal_length", y="sepal_width", hue="species", data=iris) # Mostrar el gráfico plt.show()
Conclusiones
Conocer la forma de aplicar los estilos de visualización en Seaborn es clave para poder personalizar los gráficos creados con esta biblioteca. Seaborn ofrece unos estilos por defecto que pueden ser adecuados para la mayoría de los usuarios, aunque también permite la creación de estilos personalizados.
Deja una respuesta