[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 pdimporta a biblioteca pandas para utilizar suas funções para manipular e analisar dados. - A segunda linha
from matplotlib import pyplot as pltimporta o módulo pyplot da biblioteca matplotlib para criar gráficos. - A terceira linha
from matplotlib import rcParamsimporta as configurações de parâmetros padrão da biblioteca matplotlib. - A quarta linha
import seaborn as snsimporta 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ávelcaminho. -
Leitura do arquivo CSV: O método
pd.read_csv(caminho)é usado para ler o arquivomtcars.csve armazenar os dados em uma variável chamadacarros. -
Renomeando colunas: As colunas do DataFrame
carrossão renomeadas usando a atribuiçãocarros.columns = ['nomes','mpg','cyl','disp', 'hp', 'drat', 'wt', 'qsec', 'vs', 'am', 'gear', 'carb']. -
Seleção de coluna: A coluna
mpgé selecionada do DataFramecarrose armazenada na variávelmpg.
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 eixoxdo 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 eixoydo 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 eixosxey. -
Adicionando rótulos aos eixos: O método
plt.xlabel()é usado para adicionar um rótulo ao eixox, enquanto o métodoplt.ylabel()é usado para adicionar um rótulo ao eixoy. -
Exibindo o gráfico: O método
plt.show()é usado para exibir o gráfico na tela.
Gráfico gerado:

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 nomempatchespara 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 colunampgdo DataFramecarros. -
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 eixox,nomes dos carrose o métodoplt.ylabel()é usado para adicionar um rótulo ao eixoy,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 eixoxcomo 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étodompatches.Patch(label='mpg')e adicionado ao gráfico com o métodoplt.legend(handles=[legenda]). -
Exibindo o gráfico: O método
plt.show()é usado para exibir o gráfico na tela.
Gráfico gerado:

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 colunampgdo 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 carrose o métodoplt.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 oconsumo máximode gasolina que éToyota Corolla, eadicionando setapara esse ponto com asespecificações de coretamanho. -
Exibindo o gráfico: O método
plt.show()é usado para exibir o gráfico na tela.
Gráfico gerado:
