Gráfico de barras

01.Quando usar um gráfico de barras

  • Usamos um gráfico de barra quando precisamos comparar quantidades de categorias diferentes.

_images/grafico_barra.png

02.Preparando os dados

02.a.Importando as bibliotecas necessárias

1#Importando as bibliotecas necessárias
2import pandas as pd
3import matplotlib.pyplot as plt

02.b.Criando o DataFrame

Para este grpafico usaremos uma base de dados (“olist_order_payments_dataset.xlsx”) sobre pagamentos de pedidos da empresa de varejo online Olist.

1#Criando o DataFrame
2df = pd.read_excel("/content/oilist_order_payments_dataset.xlsx")
1#Visualizandoo DataFrame
2df.head()

Este é o resultado:

_images/head_oilist.png
1#Verificando o formato do DataFrame
2df.shape

Este é o resultado:

>>> (102698, 5)

Note

Por uma questão de didática fizemos pequenas alterações no dataset que retiramos do site da Kaggle.

03.Construindo um gráfico de barras

_images/figura_axe.png
1#Criar o objeto figure e axes
2fig, ax_01 = plt.subplots()
1#Escolher os dados e somá-los para plotar o gráfico
2df.payment_type.value_counts().sort_values(ascending=False).plot(kind="bar", ax=ax_01)
1#Customizando o Axes
2ax_01.set_title("Formas de Pagamento")
3ax_01.set_xlabel("Categorias de Pagamento")
4ax_01.set_ylabel("Quantidade vendida em R$")
1#Exibindo o gráfico
2plt.show()

Este é o resultado:

_images/grafico_barra.png

Note

  1. Usar o método e os parâmetros figsize(altura,largura) se necessário.

  2. Repare que o gráfico de barras nos mostra a soma de cada categoria e por este motivo usamos o método value_counts() para fazer a soma de cada categoria.

03.a.Invertendo a ordem das barras

Caso queira inverter a ordem das barras para a de maior valor para a de menor valor (ou vice e versa): basta usar o método .sort_values(ascending=True) e usar o parâmetro ascending.

03.a.i.Valores crescentes

1df.Nome_Da_Variavel.value_counts().sort_values(ascending=True).plot(kind='bar', ax=ax_01)

03.a.ii.Valores decrescentes

1df.Nome_Da_Variavel.value_counts().sort_values(ascending=False).plot(kind='bar', ax=ax_01)

03.b.Barras horizontais

Para realizarmos um gráfico de barra horizontal, fazemos exatamente os mesmos passos para construir um gráfico de barras vertical, apenas alteramos o valor do parâmetro kind para kind='barh'.

df.nome_variavel.value_counts().plot(kind=’barh’, ax=ax_01)

_images/figura_axe.png
1#Criar o objeto figure e axes
2fig, ax_01 = plt.subplots()
1#Escolher os dados e somá-los para plotar o gráfico de barras horizontais
2df.payment_type.value_counts().sort_values(ascending=False).plot(kind="barh", ax=ax_01)
1#Customizando o Axes
2ax_01.set_title("Formas de Pagamento")
3ax_01.set_xlabel("Quantidade vendida em R$")
4ax_01.set_ylabel("Categorias de Pagamento")
1#Exibindo o gráfico
2plt.show()

Este é o resultado:

_images/grafico_barrah.png

Note

Lembrar de adequar a legenda dos eixos X e Y.