Diagramas de caja horizontales con puntos usando Seaborn en Python

Seaborn es una increíble biblioteca de visualización para el trazado de gráficos estadísticos en Python. Proporciona hermosos estilos predeterminados y paletas de colores para hacer que los gráficos estadísticos sean más atractivos. Está construido en la parte superior de la biblioteca matplotlib y también está estrechamente integrado en las estructuras de datos de pandas .
Seaborn tiene como objetivo hacer que la visualización sea la parte central de la exploración y comprensión de los datos. Proporciona API orientadas a conjuntos de datos, de modo que podemos cambiar entre diferentes representaciones visuales para las mismas variables para una mejor comprensión del conjunto de datos.

¿Por qué se utilizarán diagramas de caja horizontales en lugar de diagramas de caja?

Son útiles cuando tiene numerosos grupos con nombres más grandes. Boxplots funciona bien cuando tenemos un número limitado de grupos y nombres cortos de grupos. Pero si tenemos títulos más largos, se superpondrán entre sí en diagramas de caja, y será difícil leer los datos y obtener información del gráfico. Los diagramas de caja horizontales resuelven ese problema muy fácilmente. 
 

A continuación se muestra el enfoque paso a paso para ilustrar diagramas de caja horizontales utilizando el módulo Seaborn:

  • Importar bibliotecas

Python3

# Import required modules
import sklearn
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
  • Asignar datos 

Python3

# To avoid changing values everytime you run the cell
np.random.seed(42)
  
# Creating Data
df = pd.DataFrame({
    'Ice-cream': np.random.normal(40, 15, 100),
    'Chocolate': np.random.normal(60, 10, 100),
    'Cakes': np.random.normal(80, 5, 100)
})
  
# Display data
print(df)

Producción:

La mayoría de los datos que encontramos están en formato ancho. Por ejemplo, cuando raspa un sitio web. Estos datos están en formato ancho. Convierta los datos en formato largo utilizando la función de fusión de pandas. 

Python3

# Using melt dataframe for Converting data to long form
data_df = df.melt(var_name='Dessert', value_name='Votes')
  
# Data is in long form
print(data_df.head())

Producción:

  • Representa estos datos en un diagrama de caja.

Python3

# Adjust size
plt.figure(figsize=(8.3,6))
  
# Illustrate boxplot
sns.boxplot(y="Dessert", x="Votes", data=data_df)

Producción:

Después de trazar los puntos de datos en el diagrama de caja. Strip plot también se puede dibujar por sí solo, pero se complementará cuando se use con boxplot o violin plot. 

Python3

# It will create the data points inside the boxplot
# Illustrating box plot
sns.boxplot(y="Dessert", x="Votes", data=data_df)
  
# Illustrating strip plot
sns.stripplot(y="Dessert", x="Votes", color='black',
              alpha=0.3, data=data_df)

Producción:

Cambiar nuestro diagrama de caja al diagrama de caja horizontal con puntos de datos simplemente intercambiando los ejes cuando tenemos numerosas columnas y luego los nombres se superponen entre sí, entonces usamos un diagrama de caja horizontal.

Python3

# You can simply change into horizontal 
# boxplots by swapping  x and y axes.
# Illustrating box plot
sns.boxplot(x="Dessert", y="Votes", data=data_df)
  
# Illustrating strip plot
sns.stripplot(x="Dessert", y="Votes", color='black',
              alpha=0.3, data=data_df)

Producción:

A continuación se muestra el programa completo basado en el enfoque anterior:

Python3

# Import required modules
import sklearn
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
  
  
# To avoid changing values everytime you run the cell
np.random.seed(42)
  
  
# Creating Data
df = pd.DataFrame({
    'Ice-cream': np.random.normal(40, 15, 100),
    'Chocolate': np.random.normal(60, 10, 100),
    'Cakes': np.random.normal(80, 5, 100)
})
  
  
# Using melt dataframe for Converting data to long form
data_df = df.melt(var_name='Dessert', value_name='Votes')
  
  
# Adjust size
plt.figure(figsize=(8.3, 6))
  
  
# Assign title
plt.title('Horizontal Boxplots with Points using Seaborn')
  
  
# Illustrating box plot
sns.boxplot(y="Dessert", x="Votes", data=data_df)

Producción:
 

Publicación traducida automáticamente

Artículo escrito por prachibindal2925 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *