Parcelas Seaborn Bar e Stacked Bar

Manav Narula 24 junho 2021
Parcelas Seaborn Bar e Stacked Bar

Um gráfico de barra é usado para representar os valores observados em barras retangulares. O módulo seaborn em Python usa a função seaborn.barplot() para criar gráficos de barra.

Veja o código abaixo para criar um gráfico de barras simples para o preço de um produto em dias diferentes.

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 empilhado de origem marinha 1

Neste tutorial, aprenderemos como criar plotagens de barras empilhadas no Seaborn.

Quando falamos sobre gráficos de barras empilhadas, o que queremos dizer é que temos dois ou mais conjuntos de observações representadas no mesmo gráfico. Isso dá ao gráfico geral uma aparência empilhada, com um conjunto de observações colocado sobre o segundo conjunto.

Não temos uma função que possa criar esses gráficos de barras empilhadas diretamente, mas podemos usar o método tradicional seaborn.barplot() para plotar dois gráficos de barras individuais e colocá-los um em cima do outro.

Implementamos essa lógica no código a seguir.

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 empilhado de origem marinha 2

No gráfico acima, traçamos o preço de duas commodities em dias diferentes em um gráfico de barras.

Se quisermos, podemos representar um conjunto de observações para valores categóricos no mesmo gráfico de barra. O resultado final não será o de uma aparência empilhada, mas representará as observações no mesmo gráfico em várias barras.

Veja o seguinte 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 empilhado de origem marinha 3

Conseguimos traçar o preço de 2 produtos em 4 dias diferentes no mesmo gráfico. Fornecemos aos eixos x e y o valor desejado para o gráfico de barra e usamos o parâmetro hue para agrupar as observações para diferentes categorias, de modo que crie diferentes barras no mesmo gráfico. Desta forma, o resultado final é muito mais limpo e tudo é feito usando apenas uma função.

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