Pandas DataFrame DataFrame.plot.bar() Função

Minahil Noor 30 janeiro 2023
  1. A sintaxe de pandas.DataFrame.plot.bar()
  2. Códigos de exemplo: DataFrame.plot.bar()
  3. Códigos de exemplo: DataFrame.plot.bar() Com Múltiplas Colunas de Dados
  4. Códigos de exemplo: DataFrame.plot.bar() Com subplots=True para Criar Subplots
  5. Códigos de exemplo: DataFrame.plot.bar() para Coluna de dados de plotagem única
  6. Códigos de Exemplo: DataFrame.plot.bar() Com as Cores Especificadas
Pandas DataFrame DataFrame.plot.bar() Função

Python Pandas DataFrame.plot.bar() função plota um gráfico de barras ao longo do eixo especificado. Ela plota o gráfico em categorias. As categorias são dadas no eixo x e os valores são dados no eixo y.

A sintaxe de pandas.DataFrame.plot.bar()

DataFrame.sample(x=None, y=None, **kwds)

Parâmetros

x Este é o eixo onde as categorias serão plotadas. Se não for especificado, então é utilizado o índice do DataFrame.
y Ela representa os valores que são traçados contra as categorias. Se não for especificado, então ele plota todas as colunas numéricas do DataFrame contra as categorias.
**kwds Estes são os argumentos adicionais de palavras-chave para personalizar o gráfico plotado. Você pode verificar estes aqui.

Retornar

Ele retorna um array N-dimensional. Se subplots=True, então retorna um array N-dimensional com matplotlib.axes.Axes por coluna.

Códigos de exemplo: DataFrame.plot.bar()

Vamos primeiro entender esta função utilizando um simples DataFrame.

import pandas as pd
dataframe = pd.DataFrame({'Value':[100, 200, 300]})
print(dataframe)

Nosso DataFrame se parece com

 Value
0  100
1  200
2  300

Todos os parâmetros desta função são opcionais. Se executarmos esta função sem passar nenhum parâmetro, então ele toma o índice como eixo x e as colunas de dados numéricos como eixo y.

import pandas as pd
import matplotlib.pyplot as plt

dataframe = pd.DataFrame({"Value": [100, 200, 300]})
axis = dataframe.plot.bar(rot=0)
print(axis)
plt.show()

Resultado:

AxesSubplot(0.125,0.125;0.775x0.755)

Pandas DataFrame.plot.bar Básico

O parâmetro rot é um parâmetro adicional de palavra-chave. Ele altera a rotação dos nomes das categorias no eixo x.

A trama será parecida com a abaixo, se não definirmos rot.

Pandas DataFrame.plot.bar Básico - não definir apodrecimento

Códigos de exemplo: DataFrame.plot.bar() Com Múltiplas Colunas de Dados

Agora, vamos mudar nosso DataFrame para um complexo.

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Age": [23, 17, 40, 38, 24, 12, 45],
        "Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
    },
    index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
print(dataframe)

Nosso DataFrame se parece com

        Age  Avg Age in Family
Olivia   23                 70
John     17                 65
Laura    40                 80
Ben      38                 55
Kevin    24                 60
Robin    12                 63
Elsa     45                 90

Traçar este DataFrame utilizando a função DataFrame.plot.bar()

import pandas as pd
import matplotlib.pyplot as plt

dataframe = pd.DataFrame(
    {
        "Age": [23, 17, 40, 38, 24, 12, 45],
        "Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
    },
    index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
axis = dataframe.plot.bar(rot=0)
print(axis)
plt.show()

Resultado:

AxesSubplot(0.125,0.125;0.775x0.755)

Pandas DataFrame.plot.bar com múltiplas colunas

Ele gera um gráfico de barras contendo duas barras de dados numéricos de cada categoria. Ele ajuda na análise eficiente dos dados.

Códigos de exemplo: DataFrame.plot.bar() Com subplots=True para Criar Subplots

Se subplots=True, então a função retorna um array N-dimensional com matplotlib.axes.Axes por coluna. Utilizando isto, podemos separar nossas colunas de dados em diferentes subquadrantes em vez de um único gráfico.

import pandas as pd
import matplotlib.pyplot as plt

dataframe = pd.DataFrame(
    {
        "Age": [23, 17, 40, 38, 24, 12, 45],
        "Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
    },
    index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
axes = dataframe.plot.bar(rot=0, subplots=True)
print(axes)
plt.show()

Resultado:

[<matplotlib.axes._subplots.AxesSubplot object at 0x0000029A89B06DC8>
 <matplotlib.axes._subplots.AxesSubplot object at 0x0000029A89B4B2C8>]

Pandas DataFrame.plot.bar Subquadrantes

Códigos de exemplo: DataFrame.plot.bar() para Coluna de dados de plotagem única

import pandas as pd
import matplotlib.pyplot as plt

dataframe = pd.DataFrame(
    {
        "Age": [23, 17, 40, 38, 24, 12, 45],
        "Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
    },
    index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
axis = dataframe.plot.bar(y="Age", rot=0)
print(axis)
plt.show()

Resultado:

AxesSubplot(0.125,0.125;0.775x0.755)

Pandas DataFrame.plot.bar Plot.bar Coluna única

Também podemos traçar qualquer coluna de dados contra outras colunas, em vez de traçar índices como categorias.

import pandas as pd
import matplotlib.pyplot as plt

dataframe = pd.DataFrame(
    {
        "Age": [23, 17, 40, 38, 24, 12, 45],
        "Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
    },
    index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
axis = dataframe.plot.bar(x="Age", rot=0)
print(axis)
plt.show()

Resultado:

AxesSubplot(0.125,0.125;0.775x0.755)

Pandas DataFrame.plot.bar - Use uma coluna como eixo X

Códigos de Exemplo: DataFrame.plot.bar() Com as Cores Especificadas

import pandas as pd
import matplotlib.pyplot as plt

dataframe = pd.DataFrame(
    {
        "Age": [23, 17, 40, 38, 24, 12, 45],
        "Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
    },
    index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
axis = dataframe.plot.bar(rot=0, color="m")
plt.show()

Pandas DataFrame.plot.bar - Cor única para diferentes colunas

Ela especifica a cor m para todas as colunas no DataFrame.

import pandas as pd
import matplotlib.pyplot as plt

dataframe = pd.DataFrame(
    {
        "Age": [23, 17, 40, 38, 24, 12, 45],
        "Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
    },
    index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
axis = dataframe.plot.bar(rot=0, color=["r", "b"])
print(axis)
plt.show()

Pandas DataFrame.plot.bar - Cores diferentes para colunas diferentes

Poderíamos também especificar cores diferentes para colunas diferentes no DataFrame, dando uma lista de cores ao parâmetro color.

Artigo relacionado - Pandas DataFrame

Artigo relacionado - Pandas DataFrame Plot