[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ávelcaminho
. -
Leitura do arquivo CSV: O método
pd.read_csv(caminho)
é usado para ler o arquivomtcars.csv
e armazenar os dados em uma variável chamadacarros
. -
Renomeando colunas: As colunas do DataFrame
carros
sã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 DataFramecarros
e 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 eixox
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 eixoy
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 eixosx
ey
. -
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 nomempatches
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 colunampg
do 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 carros
e 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 eixox
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é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 colunampg
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é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áximo
de gasolina que éToyota Corolla
, eadicionando seta
para esse ponto com asespecificações de cor
etamanho
. -
Exibindo o gráfico: O método
plt.show()
é usado para exibir o gráfico na tela.
Gráfico gerado: