CIÊNCIA DE DADOS COM PYTHON
CAP.6 – INTRODUÇÃO AO MATPLOTLIB
Prof. Renzo Paranaíba Mesquita
OBJETIVOS
• Darmos introdução em uma das bibliotecas mais
populares do mercado para plotagem de gráficos: o
Matplotlib;
• Compreendermos seu princípio de funcionamento e
principais recursos;
• Praticarmos o seu uso sobre Datasets que já tivemos
a oportunidade de ver anteriormente na disciplina.
TÓPICOS
1. Introdução
2. Plotando gráficos com Plot
3. Formatando o estilo dos Plots
4. Plots múltiplos de forma conjunta
5. Plots múltiplos de forma separada
6. Tipos de Gráficos populares
CIÊNCIA DE DADOS COM PYTHON Prof. Renzo Paranaíba Mesquita
6.1. INTRODUÇÃO
• O Matplotlib é uma das bibliotecas de visualização de dados
mais populares do mercado e a principal do mundo Python;
• Ela facilita a criação de gráficos estáticos, animados e
interativos;
• Outros destaques desta biblioteca:
• Permite a criação de Plots com poucas linhas de código;
• Oferece controle sobre todos os detalhes das plotagens;
• Possui uma grande coletânea de gráficos;
• Biblioteca base para outras bibliotecas gráficas do Python;
• Possui excelente integração com NumPy e Pandas;
• Lembra muito os gráficos do famoso MatLab.
CIÊNCIA DE DADOS COM PYTHON Prof. Renzo Paranaíba Mesquita
6.2. PLOTANDO GRÁFICOS COM PLOT
• O [Link] é uma coleção de funções que permitem que o
Matplotlib trabalhe de forma muito parecida com o MatLab
• Cada função do pyplot muda uma característica no gráfico
• EXEMPLOS:
# importando o numpy e o pyplot
import numpy as np
import [Link] as plt
# criando alguns valores no eixo x
x = [Link]([1, 2, 3, 4])
# criando alguns valores no eixo y
y = x*2
# label das coordenadas x e y
[Link](‘Valores de x’)
[Link](‘Valores de y’)
# executando o plot
[Link](x, y)
# comando necessário em algumas IDEs apenas
[Link]()
CIÊNCIA DE DADOS COM PYTHON Prof. Renzo Paranaíba Mesquita
6.3. FORMATANDO O ESTILO DOS PLOTS
• Existe um terceiro argumento customizado que podemos passar para um plot para mudar seu
estilo de forma bastante objetiva
• Este argumento é uma String que pode ser montada obedecendo o seguinte padrão:
fmt = [marker][line][color]
Markers
CIÊNCIA DE DADOS COM PYTHON Prof. Renzo Paranaíba Mesquita
6.3. FORMATANDO O ESTILO DOS PLOTS
• Com a String customizada, podemos facilmente alterar o estilo dos nossos plots
• Um Gráfico de Linhas (Plot) é utilizado para representar dados que variam ao longo do
tempo ou de outra variável contínua. Ele é ideal para mostrar tendências e mudanças em
dados
• EXEMPLOS:
# marcador circular – o
# linhas pontilhadas - :
# cor verde – g (green)
# largura da linha = 3
# tamanho dos marcadores = 20
[Link](x, y, ‘o:g’, linewidth=3, markersize=20)
# comando necessário em algumas IDEs apenas
[Link]()
CIÊNCIA DE DADOS COM PYTHON Prof. Renzo Paranaíba Mesquita
6.4. PLOTS MÚLTIPLOS DE FORMA CONJUNTA
• É comum querermos traçar dois ou mais gráficos em linha no mesmo plano cartesiano
• De forma objetiva, podemos passar para o método plot uma sequência de coordenadas x,y e
String de customização no seguinte formato:
• EXEMPLOS:
# criando valores no eixo x
x = [Link]([1, 2, 3, 4])
# criando valores no eixo y
y = x*2
# novo eixo y
y2 = x*x
[Link](‘Valores de x’)
[Link](‘Valores de y’)
# plotando dois gráficos no mesmo plano
[Link](x, y, ‘r-’, x, y2, ‘b--’)
CIÊNCIA DE DADOS COM PYTHON Prof. Renzo Paranaíba Mesquita
6.5. PLOTS MÚLTIPLOS DE FORMA SEPARADA
• Às vezes queremos plotar múltiplos gráficos de uma vez, mas de forma separada para uma
visualização mais individualizada
• No Matplotlib isso pode ser feito por meio da função subplot():
• EXEMPLOS:
x = [Link]([1, 2, 3, 4])
y = x*2
y2 = x*x
# Plotando dois gráficos separados
[Link](1, 2, 1) #uma linha, duas colunas, posição 1
[Link](‘Linear’)
[Link](x, y, ‘r-’)
[Link](1, 2, 2) #uma linha, duas colunas, posição 2
[Link](‘Exponencial’)
[Link](x, y2, ‘b--’)
CIÊNCIA DE DADOS COM PYTHON Prof. Renzo Paranaíba Mesquita
6.6. TIPOS DE GRÁFICOS POPULARES
• São inúmeros os tipos de gráficos e configurações disponíveis no Matplotlib para traçarmos
nossos gráficos
• Um Gráfico de Dispersão (Scatter Plot) é eficiente para se detectar outliers e padrões, além
de ser útil para se explorar a relação entre duas variáveis, analisar a força e direção dessa
relação
• EXEMPLOS:
# lendo o dataset [Link]
dfPaises = pd.read_csv(‘[Link]’, delimiter=‘;’)
# extraindo somente dados dos 6 maiores países do mundo
dfPaises2 = [Link](6, ‘Area (sq. mi.)’)
# plotando qual destes países possui a maior renda per capita
# observe que o tamanho de cada ponto ilustra o tamanho dos países
[Link](dfPaises2[‘Country’], dfPaises2[‘GDP ($ per capita)’],
s=dfPaises2[‘Area (sq. mi.)’]/10000)
CIÊNCIA DE DADOS COM PYTHON Prof. Renzo Paranaíba Mesquita
6.6. TIPOS DE GRÁFICOS POPULARES
• Um Gráfico em Barras (Bar Plot) representa e compara dados quantitativos de forma visual,
facilitando a análise e interpretação
• Ele permite que se identifique rapidamente tendências, padrões e diferenças entre os valores
apresentados
• EXEMPLOS:
# extraindo os 5 países com maior PIB per capita (GDP) do dataset
dfBiggestGDP = [Link](5, 'GDP ($ per capita)’)
# pegando as Series dos países e os valores de GDP separadas
dfBiggestGDP _country = dfBiggestGDP['Country']
dfBiggestGDP _gdp = dfBiggestGDP['GDP ($ per capita)’]
# traçando um gráfico em barras para ilustrar as diferenças
[Link](dfBiggestGDP _country, dfBiggestGDP_gdp, color='green')
CIÊNCIA DE DADOS COM PYTHON Prof. Renzo Paranaíba Mesquita
6.6. TIPOS DE GRÁFICOS POPULARES
• Um Gráfico em Torta (Pie Plot) é uma ferramenta eficaz para representar distribuições
percentuais de maneira visual e intuitiva
• O tamanho de cada fatia corresponde à proporção de cada categoria no conjunto de dados
• EXEMPLOS:
#extraindo os países que não tem costa marítma
dfPaisesNoCoast = dfPaises[dfPaises['Coastline (coast/area ratio)'] == 0]
#extraindo a quantidade de países que não tem costa marítima
qtPaisesNoCoast = len(dfPaisesNoCoast)
#extraindo a quantidade de paises que tem costa marítma
qtPaisesCoast = len(dfPaises) - qtPaisesNoCoast
#traçando o gráfico em torta
[Link](x=[qtPaisesCoast, qtPaisesNoCoast], labels=['% Países Com Costa’,
'% Países Sem Costa’], autopct='%1.1f%%')
CIÊNCIA DE DADOS COM PYTHON Prof. Renzo Paranaíba Mesquita
EXERCÍCIOS
1. Por meio do dataset [Link], trace dois gráficos de linhas em
um mesmo plano cartesiano, um mostrando a taxa de mortalidade
(Deathrate) e outro a taxa de natalidade (Birthrate) dos países da
América do Norte;
2. Por meio do dataset [Link], trace um gráfico em barras
mostrando quantas empresas espaciais diferentes os EUA e a CHINA
possuem;
Dica: não se esqueça de retirar os resultados repetidos
3. Por meio do dataset [Link], trace um gráfico em torta
ilustrando a porcentagem de missões da empresa Roscosmos que
deram certo e que deram errado;
CIÊNCIA DE DADOS COM PYTHON
FIM CAPÍTULO 6