Seaborn es la biblioteca de visualización de Python creada como una extensión de Matplotlib . Seaborn tiene funciones a nivel de ejes (diagrama de dispersión, regplot, boxplot, kdeplot, etc.) así como funciones a nivel de figura (lmplot, factorplot, jointplot, relplot, etc.). Las funciones de nivel de ejes devuelven objetos de ejes de Matplotlib con la trama dibujada en ellos, mientras que las funciones de nivel de figura incluyen ejes que siempre están organizados de manera significativa. La personalización básica que necesita un gráfico para que sea comprensible es configurar el título, configurar las etiquetas de los ejes y ajustar el tamaño de la figura. Cualquier personalización realizada está en el objeto de ejes para funciones de nivel de ejes y el objeto de figura para funciones de nivel de figura.
Nota: Los ejes en la explicación anterior se refieren a una parte de la figura o la capa superior de una figura y no es el término matemático para más de un eje. Considere una trama en una figura. Esta trama eje. Ahora, considere múltiples subparcelas en una figura. Cada una de estas subparcelas es uno de los ejes.
Veamos algunos ejemplos para comprender mejor la personalización con Seaborn.
Python
# Import required libraries import matplotlib.pyplot as plt import seaborn as sns # Load data set tips = sns.load_dataset( "tips" ) tips.head()
Producción:
Ejemplo 1: personalización de parcela con objeto de ejes
Para las funciones a nivel de ejes, pase el argumento figsize a la función plt.subplots() para establecer el tamaño de la figura. La función plt.subplots() devuelve objetos Figure y Axes. Estos objetos se crean con anticipación y luego se dibujan las tramas en él. Hacemos uso de las funciones set_title(), set_xlabel() y set_ylabel() para cambiar las etiquetas de los ejes y establecer el título de un gráfico. Podemos establecer el tamaño del texto con el atributo de tamaño. Asegúrese de asignar el objeto de nivel de ejes al crear el gráfico. Este objeto luego se usa para configurar el título y las etiquetas como se muestra a continuación.
Python
# Set figure size (width, height) in inches fig, ax = plt.subplots(figsize = ( 5 , 3 )) # Plot the scatterplot sns.scatterplot( ax = ax , x = "total_bill" , y = "tip" , data = tips ) # Set label for x-axis ax.set_xlabel( "Total Bill (USD)" , size = 12 ) # Set label for y-axis ax.set_ylabel( "Tips (USD)" , size = 12 ) # Set title for plot ax.set_title( "Bill vs Tips" , size = 24 ) # Display figure plt.show()
Producción:
Ejemplo 2: personalizar el gráfico de dispersión con el objeto pyplot
También podemos cambiar las etiquetas de los ejes y establecer el título de la trama con matplotlib.pyplotobject usando las funciones xlabel(), ylabel() y title(). Similar al ejemplo anterior, podemos establecer el tamaño del texto con el atributo de tamaño. La función plt.figure() crea una instancia de Figura y el argumento figsize permite establecer el tamaño de la figura.
Python
# Set figure size (width, height) in inches plt.figure(figsize = ( 5 , 3 )) # Plot scatterplot sns.scatterplot( x = "total_bill" , y = "tip" , data = tips ) # Set label for x-axis plt.xlabel( "Total Bill (USD)" , size = 12 ) # Set label for y-axis plt.ylabel( "Tips (USD)" , size = 12 ) # Set title for figure plt.title( "Bill vs Tips" , size = 24 ) # Display figure plt.show()
Producción:
Ejemplo 3: Personalización de múltiples parcelas en la misma figura
La función replot de Seaborn devuelve un objeto FacetGrid que es un objeto de nivel de figura. Este objeto permite la gestión conveniente de subparcelas. Para dar un título a la figura completa que contiene varias subtramas, usamos el método suptitle(). El método subplots_adjust() se usa para evitar la superposición de los títulos de las subtramas y el título de la figura al especificar las posiciones de los bordes superior, inferior, izquierdo y derecho de las subtramas. Para establecer el tamaño de la figura, pase un diccionario con la clave ‘figure.figsize’ en el método set(). El método set() permite establecer múltiples parámetros de tema en un solo paso.
Python
# Set figure size sns.set( rc = {'figure.figsize' : ( 20, 20 ), 'axes.labelsize' : 12 }) # Plot scatter plot g = sns.relplot(data = tips , x = "total_bill" , y = "tip" , col = "time" , hue = "day" , style = "day" , kind = "scatter" ) # Title for the complete figure g.fig.suptitle("Tips by time of day" , fontsize = 'x-large' , fontweight = 'bold' ) # Adjust subplots so that titles don't overlap g.fig.subplots_adjust( top = 0.85 ) # Set x-axis and y-axis labels g.set_axis_labels( "Tip" , "Total Bill (USD)" ) # Display the figure plt.show()
Producción:
Publicación traducida automáticamente
Artículo escrito por akshisaxena y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA