Executando verificação de segurança...
2

[DATA SCIENCE] DAY: 015 - Criando legendas e anotações nos gráficos

👨‍💼 Bom dia, boa tarde e boa noite pessoal, tudo bem?

🦥 Hoje iremos aprender como formatar gráficos.

📝 Obs: Irei utilizar o jupyter notebook, mas fique a vontade para escolher outro ambiente de sua preferência. Uma sugestão caso não conheça nenhum, tem o colab do google.

1 - Primeiro, podemos usar a notação as para abreviar o nome das bibliotecas que vamos importar e facilitar a escrita de código:

💻

import pandas as pd

from matplotlib import pyplot as plt
from matplotlib import rcParams

import seaborn as sns

📝 Obs:

  • A primeira linha import pandas as pd importa a biblioteca pandas para utilizar suas funções para manipular e analisar dados.
  • A segunda linha from matplotlib import pyplot as plt importa o módulo pyplot da biblioteca matplotlib para criar gráficos.
  • A terceira linha from matplotlib import rcParams importa as configurações de parâmetros padrão da biblioteca matplotlib.
  • A quarta linha import seaborn as sns importa a biblioteca seaborn que fornece uma interface mais fácil para criar gráficos estatísticos atraentes e informativos, e também estende as funcionalidades de matplotlib.

Essas linhas de código preparam as bibliotecas necessárias para serem utilizadas na visualização de dados.

2 - Agora vamos ajustar as configurações de visualização para se adequar ao ambiente do Jupyter Notebook e estabelecer um estilo de gráfico padrão para ser usado ao longo do código:

💻

%matplotlib inline
rcParams['figure.figsize'] = 8, 4
sns.set_style('whitegrid')

📝 Obs:

  • %matplotlib inline: É usado para exibir gráficos dentro do notebook Jupyter. Ele permite que os gráficos sejam exibidos diretamente na célula do notebook, sem precisar abrir uma janela separada.

  • rcParams ['figure.figsize']: É usado para definir o tamanho da figura. No caso, está definindo o tamanho como 8 polegadas de largura e 4 polegadas de altura.

  • sns.set_style ('whitegrid'): É usado para definir o estilo do gráfico. O estilo 'whitegrid' adiciona grade na cor branca na figura. Ele pode ser usado para ajudar na leitura do gráfico.

3 - Agora iremos ler um arquivo CSV chamado "mtcars.csv" que provavelmente estará localizado em sua máquina local:

🔍 Para baixar o arquivo que está sendo usado, clique aqui.

caminho = 'O-caminho-do-arquivo/mtcars.csv'
carros = pd.read_csv(caminho)
carros.columns = ['nomes','mpg','cyl','disp', 'hp', 'drat', 'wt', 'qsec', 'vs', 'am', 'gear', 'carb']
mpg = carros['mpg'] 

📝 Obs: O que esse código faz???

  • Atribuição de caminho do arquivo: O caminho para o arquivo mtcars.csv é armazenado na variável caminho.

  • Leitura do arquivo CSV: O método pd.read_csv(caminho) é usado para ler o arquivo mtcars.csv e armazenar os dados em uma variável chamada carros.

  • Renomeando colunas: As colunas do DataFrame carros são renomeadas usando a atribuição carros.columns = ['nomes','mpg','cyl','disp', 'hp', 'drat', 'wt', 'qsec', 'vs', 'am', 'gear', 'carb'].

  • Seleção de coluna: A coluna mpg é selecionada do DataFrame carros e armazenada na variável mpg.

4 - Após lermos o arquivo CSV e renomearmos as colunas, vamos aprender a colocar títulos nos eixos do gráfico gerado:

x = range(1, 10)
y = [1, 2, 3, 4, 0.5, 4, 3, 2, 1]
plt.bar(x, y)

plt.xlabel('nossa legenda no eixo X')
plt.ylabel('nossa legenda no eixo Y')
plt.show()

📝 Obs: O que esse código faz???

  • Criação de dados para o eixo x: A função range(1,10) é usada para criar uma lista de números inteiros de 1 a 9, que serão usados como valores no eixo x do gráfico.

  • Criação de dados para o eixo y: Uma lista de valores é criada com os valores [1, 2, 3, 4, 0.5, 4, 3, 2, 1], que serão usados como valores no eixo y do gráfico.

  • Criação do gráfico de barras: O método plt.bar(x, y) é usado para criar um gráfico de barras com os dados dos eixos x e y.

  • Adicionando rótulos aos eixos: O método plt.xlabel() é usado para adicionar um rótulo ao eixo x, enquanto o método plt.ylabel() é usado para adicionar um rótulo ao eixo y.

  • Exibindo o gráfico: O método plt.show() é usado para exibir o gráfico na tela.

Gráfico gerado:
Gráfico gerado so código acima

5 - Agora que enxergamos a possibilidade de colocar títulos nos eixos do gráfico, vamos explorar as demais funcionalidades desses eventos:

import matplotlib.patches as mpatches

plt.plot(mpg)
plt.title('Consumo de gasolina')
plt.xlabel('nomes dos carros')
plt.ylabel('millhas/galão')
plt.xticks(mpg.index, carros.nomes, rotation=45)


legenda = mpatches.Patch(label='mpg')
plt.legend(handles=[legenda])

plt.show()

📝 Obs: O que esse código faz???

  • Importação da biblioteca matplotlib.patches: A biblioteca matplotlib.patches é importada com o nome mpatches para permitir a criação de legendas personalizadas.

  • Criação do gráfico de linha: O método plt.plot(mpg) é usado para criar um gráfico de linha com os dados da coluna mpg do DataFrame carros.

  • Adicionando título ao gráfico: O método plt.title() é usado para adicionar um título ao gráfico, Consumo de gasolina.

  • Adicionando rótulos aos eixos: O método plt.xlabel() é usado para adicionar um rótulo ao eixo x, nomes dos carros e o método plt.ylabel() é usado para adicionar um rótulo ao eixo y, millhas/galão.

  • Rotacionando as etiquetas do eixo x: O método plt.xticks(mpg.index, carros.nomes, rotation=45) é usado para adicionar as etiquetas do eixo x como os nomes dos carros e rotacionando em 45 graus.

  • Criação de legenda personalizada para o gráfico: O objeto legenda é criado com o método mpatches.Patch(label='mpg') e adicionado ao gráfico com o método plt.legend(handles=[legenda]).

  • Exibindo o gráfico: O método plt.show() é usado para exibir o gráfico na tela.

Gráfico gerado:
Gráfico gerado so código acima

6 - Por último, temos a possibilidade de colocar anotações no gráfico, assim ficando legível alguns pontos que queremos destacar:

plt.plot(mpg)
plt.title('Milhas por galão por carro em mtcars')
plt.xlabel('nomes dos carros')
plt.ylabel('millhas/galão')
plt.xticks(mpg.index, carros.nomes, rotation=45)
plt.annotate('Toyota Corolla', xy=(19,33.9), xytext = (21,33),
           arrowprops=dict(facecolor='black', shrink=0.05))
plt.show()

📝 Obs: O que esse código faz???

  • Criação do gráfico de linha: O método plt.plot(mpg) é usado para criar um gráfico de linha com os dados da coluna mpg do DataFrame "carros".

  • Adicionando título ao gráfico: O método plt.title() é usado para adicionar um título ao gráfico, Milhas por galão por carro em mtcars.

  • Adicionando rótulos aos eixos: O método plt.xlabel() é usado para adicionar um rótulo ao eixo x, nomes dos carros e o método plt.ylabel() é usado para adicionar um rótulo ao eixo y, milhas/galão.

  • Rotacionando as etiquetas do eixo x: O método plt.xticks(mpg.index, carros.nomes, rotation=45) é usado para adicionar as etiquetas do eixo x como os nomes dos carros e rotacionando em 45 graus.

  • Anotando no gráfico: O método plt.annotate() é usado para adicionar uma anotação no ponto específico do gráfico, no caso, no ponto onde ocorre o consumo máximo de gasolina que é Toyota Corolla, e adicionando seta para esse ponto com as especificações de cor e tamanho.

  • Exibindo o gráfico: O método plt.show() é usado para exibir o gráfico na tela.

Gráfico gerado:
Gráfico gerado so código acima

🌊 Espero que tenham gostado do conteúdo, amanhã iremos aprender como visualizar séries temporais!

🚀 Vejo vocês amanhã, tenham uma ótima semana!

Data Science