Crear gráfico de barras agrupadas usando Altair en Python

Los gráficos de barras agrupadas son una herramienta útil para representar nuestros datos cuando queremos comparar varios conjuntos de elementos de datos entre sí. Para hacer un gráfico de barras agrupadas, necesitamos al menos tres filas de tres columnas de datos en nuestro conjunto de datos. Las tres columnas se pueden usar como una para valores, una para series y otra para categorías. En un gráfico de barras agrupadas, los valores de datos presentes en una serie se representan uno al lado del otro y se agrupan en categorías específicas para que sus valores se puedan representar en consecuencia sobre el eje. Todos los valores de datos pertenecientes a una serie específica siempre se representarán con el mismo color en todas las categorías.

Tomemos un ejemplo, supongamos que queremos comparar las carreras realizadas por dos jugadores en tres formatos. Aquí, las carreras anotadas por los jugadores actúan como valores, el nombre del jugador actúa como una serie y el formato del juego actúa como las categorías. Siempre, las carreras anotadas por cada jugador tendrán la misma representación de color en los diferentes formatos.

En este artículo, aprenderemos a crear un gráfico de barras agrupadas utilizando la biblioteca Altair en Python.

Como discutimos, necesitamos al menos tres filas/columnas, comenzaremos con la importación de las bibliotecas necesarias y luego crearemos un conjunto de datos que tenga tres columnas usando la biblioteca pandas.

Ejemplo 1:

Python

import altair as alt
import pandas as pd
  
# creating a custom dataframe
data = pd.DataFrame([[264, 'Rohit', 'ODI'], 
                     [183, 'Virat', 'ODI'], 
                     [118, 'Rohit', 'T20'], 
                     [94, 'Virat', 'T20'],
                     [212, 'Rohit','Test'],
                     [254, 'Virat','Test']],
                     columns=['Highest Score', 'Player', 'Format'])
  
print(data)

Producción:

grouped bar chart python altair

Ahora que tenemos un conjunto de datos que contiene tres columnas, donde queremos comparar la puntuación más alta (valores) de dos jugadores (series) en diferentes formatos (categorías).

Python

gp_chart = alt.Chart(data).mark_bar().encode(
  alt.Column('Format'), alt.X('Player'),
  alt.Y('Highest Score', axis=alt.Axis(grid=False)), 
  alt.Color('Player'))
  
gp_chart.display()

Producción:

Podemos trazar un gráfico de grupo llamando al método alt.Chart() presente dentro de la biblioteca de Altair. Queremos que nuestras categorías se muestren como columnas, por lo que podemos pasar Format dentro del método alt.Column() , nuestra serie (jugadores) se representará en el eje x, por lo tanto, pasamos Player en el campo alt.X() , y nuestros valores (ejecuciones) deben mostrarse en el eje y, por lo que pasamos el puntaje más alto dentro del campo alt.Y() . Cada reproductor debe tener el mismo color en todos los formatos, por lo que pasamos Player dentro del método alt.Color()

Ejemplo 2:

Python3

# importing package
import altair as alt
import pandas as pd
  
# create data
data = pd.DataFrame([['A', 10, 20],
                     ['B', 5, 29],
                     ['A', 15, 29],
                     ['B', 15, 20]],
                    columns=['Team', 'Round 1', 'Round 2'])
# view data
print(data)
  
gp_chart = alt.Chart(data).mark_bar().encode(
    alt.Column('Round 2'), alt.X('Team'),
    alt.Y('Round 1', axis=alt.Axis(grid=False)),
    alt.Color('Team'))
  
gp_chart.display()

Producción:

altair groubed bar python

Publicación traducida automáticamente

Artículo escrito por saurabh48782 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 *