Parcelas de barras Seaborn y barras apiladas

Manav Narula 24 junio 2021
Parcelas de barras Seaborn y barras apiladas

Se utiliza un diagrama de barras para representar los valores observados en barras rectangulares. El módulo seaborn en Python usa la función seaborn.barplot() para crear diagramas de barras.

Consulte el código a continuación para crear un gráfico de barras simple para el precio de un producto en diferentes días.

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {"Price 1": [7, 1, 5, 6, 3, 10, 5, 8], "Day": [1, 2, 3, 4, 5, 6, 7, 8]}
)

s1 = sns.barplot(x="Day", y="Price 1", data=df, color="red")

gráfico de barras apiladas 1 de seaborn

En este tutorial, aprenderemos cómo crear gráficos de barras apiladas en Seaborn.

Cuando hablamos de gráficos de barras apiladas, lo que queremos decir es que tenemos dos o más conjuntos de observaciones representados en el mismo gráfico. Esto le da al gráfico general un aspecto apilado, con un conjunto de observaciones colocadas sobre el segundo conjunto.

No tenemos una función que pueda crear tales diagramas de barras apiladas directamente, pero podemos usar el método tradicional seaborn.barplot() para trazar dos gráficos de barras individuales y colocarlos uno encima del otro.

Implementamos esta lógica en el siguiente código.

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {
        "Price 1": [7, 1, 5, 6, 3, 10, 5, 8],
        "Price 2": [1, 2, 8, 4, 3, 9, 5, 2],
        "Day": [1, 2, 3, 4, 5, 6, 7, 8],
    }
)

s1 = sns.barplot(x="Day", y="Price 1", data=df, color="red")

s2 = sns.barplot(x="Day", y="Price 2", data=df, color="blue")

gráfico de barras apiladas 2 de seaborn

En el gráfico anterior, hemos representado el precio de dos productos básicos durante diferentes días en un gráfico de barras.

Si queremos, podemos representar un conjunto de observaciones para valores categóricos en el mismo diagrama de barras. El resultado final no será el de un aspecto apilado, pero representará las observaciones en el mismo gráfico en varias barras.

Consulte el siguiente código.

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {
        "Price": [7, 1, 5, 6, 3, 10, 5, 8],
        "Product": ["C1", "C2", "C1", "C2", "C1", "C2", "C1", "C2"],
        "Day": [1, 1, 2, 2, 3, 3, 4, 4],
    }
)

s = sns.barplot(x="Day", y="Price", data=df, hue="Product")

gráfico de barras apiladas 3 de seaborn

Pudimos trazar el precio de 2 productos en 4 días diferentes en el mismo gráfico. Le damos al eje x e y el valor deseado para el gráfico de barras y usamos el parámetro hue para agrupar las observaciones para diferentes categorías, de modo que cree diferentes barras en el mismo gráfico. De esta manera, la salida final es mucho más limpia y todo se hace usando una sola función.

Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn