Creación de gráficos de barras horizontales con Pandas

Requisitos previos : Pandas

Un gráfico de barras representa datos categóricos con valores de datos correspondientes como barras rectangulares. Por lo general, el eje x representa valores categóricos y el eje y representa los valores de datos o frecuencias. Esto se llama gráfico de barras verticales y el inverso se llama gráfico de barras horizontales. En algunos casos, un gráfico de barras horizontales proporciona una mejor legibilidad. 

Python tiene varias bibliotecas de visualización como Matplotlib y Seaborn . La biblioteca Pandas , que tiene una estrecha integración con Matplotlib, permite la creación de gráficos directamente a través de objetos DataFrame y Series. Este artículo explora los métodos para crear gráficos de barras horizontales usando Pandas.

Usando la instancia de trama del marco de datos de Pandas, se pueden crear varios tipos de gráficos, incluidos los gráficos de barras. Hay dos tipos de gráficos de barras que representan categorías complejas:

  1. Gráficos de barras agrupadas o compuestas : cuando tiene subcategorías de una categoría principal, este gráfico asigna a cada variable o subcategoría una barra separada en la categoría correspondiente.
  2. Gráficos de barras apiladas : cuando tiene subcategorías de una categoría principal, este gráfico apila las subcategorías una encima de la otra para producir una sola barra.

Los métodos bar() y barh() de Pandas dibujan gráficos de barras verticales y horizontales respectivamente. Esencialmente, DataFrame.plot(kind=”bar”) es equivalente a DataFrame.plot.bar() . A continuación se muestran algunos ejemplos para crear diferentes tipos de gráficos de barras utilizando las funciones mencionadas anteriormente.

Gráfico de barras horizontales simples

Sintaxis:

DataFrame.plot.barh()

Los métodos barh() aceptan parámetros x e y donde x toma los valores categóricos (por defecto, toma el índice del DataFrame) e y toma todas las columnas numéricas. Los argumentos de palabras clave (como el título o el tamaño de la figura) compatibles con DataFrame.plot() se pueden pasar al método barh() para personalizar el gráfico de barras. Se muestra la implementación que representa un gráfico de barras horizontales que representa el número de personas que prefieren categorías particulares de cocina.

Ejemplo:

Python3

# Import required libraries
import pandas as pd
  
# Create a sample dataframe
df = pd.DataFrame({'Cuisine': ['Italian', 'Indian', 'Mexican', 'Chinese'],
                   'Number of People': [20, 25, 15, 10]})
  
# Plot a bar chart
df.plot.barh(x='Cuisine', y='Number of People',
             title='Cuisine Preference', color='green')

Producción:

Gráfico de barras horizontales compuesto 

Del ejemplo anterior, si las personas se dividen en subgrupos de hombres y mujeres, podemos representar estos datos con un gráfico de barras horizontales compuestas. Este ejemplo muestra un gráfico de barras horizontales que representa el número de hombres y mujeres que prefieren determinadas categorías de cocina utilizando dos métodos. 

Ejemplo 2

Gráfico de barras usando el método barh()

Python3

# Import required libraries
import pandas as pd
  
# Create a sample dataframe
df = pd.DataFrame({'Number of Males': [10, 15, 25, 14],
                   'Number of Females': [20, 25, 15, 10]},
                  index=['Italian', 'Indian', 'Mexican', 'Chinese'])
  
# Plot grouped horizontal bar chart
df.plot.barh(title="Gender wise Cuisine preference chart",
             color={"green", "pink"})

Producción:

Ejemplo 3:

Gráfico de barras usando el método plot()

Python3

# Import required libraries
import pandas as pd
  
# Create a sample dataframe
df = pd.DataFrame({'Number of Males': [10, 15, 25, 14],
                   'Number of Females': [20, 25, 15, 10]},
                  index=['Italian', 'Indian', 'Mexican', 'Chinese'])
  
# Plot stacked horizontal bar chart
df.plot(kind="barh", title="Gender wise Cuisine preference chart",
        color={"green", "pink"})

Producción:

Gráfico de barras horizontales apiladas

Los gráficos de barras apiladas son útiles para representar la composición o contribución de diferentes subgrupos. El siguiente ejemplo muestra un gráfico de barras horizontales que representa el porcentaje de hombres y mujeres que prefieren determinadas categorías de cocina. Un gráfico de barras horizontales apiladas coloca los valores en cada observación en el marco de datos uno al lado del otro en una sola barra. Sin embargo, apila los valores numéricos en lugar del porcentaje de un todo. Entonces, primero convertimos los valores de los datos en el porcentaje de un todo y luego usamos la función barh() con el parámetro apilado establecido en True para crear un gráfico de barras horizontales apiladas llenas.

Ejemplo 4

Python3

# Import required libraries
import pandas as pd
  
# Create a sample dataframe
df = pd.DataFrame({'Number of Males': [10, 15, 25, 14],
                   'Number of Females': [20, 25, 15, 10]},
                  index=['Italian', 'Indian', 'Mexican', 'Chinese'])
  
# Convert numeric values to percentage of whole
percent_df = df.apply(lambda x: (x * 100) / sum(x), axis=1)
  
# Plot stacked horizontal bar chart
percent_df.plot.barh(stacked=True,
                     title="Male-Female percentage composition of Cuisine preferences")

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

Deja una respuesta

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