1
resposta

[Dúvida] Plotando o gráfico por meio do Dataframe ou do matplotlib

Na aula 9, nos vídeos do projeto, para plotar o grafico, o professor usou um método do dataframe, por exemplo (considerando o DataFrame dados):

dados.boxplot (['Valor'])

Anteriormente, ele também usou o método .plot.bar():

fig = grupo_bairro['Valor'].mean().plot.bar(color = 'blue')

(sendo que, aqui, grupo bairro é um agrupamento de dataFrame (DataFrameGroupBy))

Já nos vídeos da aula extra, o professor usou o que eu acho que é o próprio matplotlib pra plotar:

area = plt.figure() 
g1 = area.add_subplot(2, 2, 1)
g1.scatter(dados.Valor, dados.Area)

Eu entendi o que foi feito no dois casos, mas acredito que eu não sei o suficiente pra saber quando usar cada caso. Então tenho umas perguntas:

  1. Posso inferir que a diferença é que os métodos do Dataframe não me deixam plotar dois ou mais gráficos na mesma figura, enquanto o matplotlib sim? Pelo que eu entendi, os métodos do Dataframe também deixam controlar cor do gráfico, título, labels, etc.

  2. Existe algum motivo pelo qual foi usado .plot.bar() no segundo exemplo acima, em vez de diretamente .bar?

1 resposta

Olá Gabriel, tudo bem com você?

Peço desculpas pela demora em obter um retorno.

Você está correto, os métodos de plotagem do DataFrame são convenientes para plotagem rápida e fácil, mas não oferecem a flexibilidade que o Matplotlib oferece. Por exemplo, se você quiser plotar vários gráficos na mesma figura, terá que usar o Matplotlib. No entanto, os métodos de plotagem do DataFrame também permitem que você controle a cor, título, rótulos do gráfico.

A razão pela qual foi usado em vez de .bar() é devido à estrutura dos dados. O método .plot.bar() é usado para fazer um gráfico de barras a partir de um DataFrame, enquanto .bar() é um método do Matplotlib que é mais geral e pode ser usado para fazer gráficos de barras a partir de qualquer tipo de dados. No exemplo abaixo, usamos uma lista e não necessariamente um DataFrame para plotar os dados, por isso, foi utilizado apenas o .bar():

import matplotlib.pyplot as plt

valores = [10, 15, 7, 12, 8]
rotulos = ['A', 'B', 'C', 'D', 'E']

plt.bar(rotulos, valores)

plt.xlabel('Categorias')
plt.ylabel('Valores')
plt.title('Gráfico de Barras Simples')

plt.show()

Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!