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")
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")
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")
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 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