¿Cómo llenar el color por grupos en el histograma usando Matplotlib?

En este artículo vamos a ver cómo rellenar el color por grupo en el histograma usando Matplotlib en Python.

Método 1: Usar el método pivot()

En este método, vamos a utilizar el método pivote que devuelve un DataFrame organizado basado en valores de índice/columna especificados.

Sintaxis: DataFrameName.pivot(index=’indexLabel’, column=’columnLabel’, valores=’columnName’)

Nota: Este enfoque se sigue cuando queremos realizar más agrupaciones en los datos dados.

Usamos este DataFrame en este enfoque para trazar un histograma que represente edades entre diferentes géneros.

Python3

# import necessary packages
import pandas as pd
import matplotlib.pyplot as plt
 
# create a DataFrame
personAges = pd.DataFrame({'Gender': ['Male', 'Female',
                                      'Male', 'Female',
                                      'Female'],
                           'Age': [25, 19, 21, 30, 18]})
 
# group data & plot histogram
personAges.pivot(columns='Gender', values='Age').plot.hist()
plt.show()

Producción:

Aquí, el DataFrame original se reorganiza con los valores de edad según la columna Género en un nuevo DataFrame. Para este DataFrame reorganizado trazamos un histograma. 

El gráfico resultante indica que hay 2 mujeres entre 18 y 20 años, 1 mujer entre 29 y 30 años y 1 hombre entre 20 y 22, es decir, 21 y finalmente 1 hombre entre 24 y 25 años.

Método 2: usar conjuntos de datos separados

Este método se puede seguir cuando ya tenemos datos separados sobre cualquier base. Consideremos 2 objetos que contienen la edad de hombres y mujeres.

mens_age=18,19,20,21,22,23,24,25,26,27
female_age=22,28,30,30,12,33,41,22,43,18

Si tenemos el tipo anterior de datos separados, podemos especificar diferentes colores para los diferentes grupos mientras trazamos el histograma, es decir, en el método hist.

Python3

# import necessary libraries
import matplotlib.pyplot as plt
 
mens_age = 18, 19, 20, 21, 22, 23, 24, 25, 26, 27
female_age = 22, 28, 30, 30, 12, 33, 41, 22, 43, 18
 
plt.hist([mens_age, female_age], color=[
         'Black', 'Red'], label=['Male', 'Female'])
plt.xlabel('Age')
plt.ylabel('Person Count')
plt.legend()
plt.show()

Producción:

Como ya tenemos datos agrupados en función del género, no necesitamos usar ninguna función de pivote. Entonces podemos especificar directamente esos conjuntos separados de datos con diferentes colores en la función hist.

Estos son los dos enfoques que deben seguirse en función de los datos proporcionados y el requisito de rellenar el color por grupos en el histograma.

Publicación traducida automáticamente

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