Introdução
Este tutorial fornece um guia passo a passo para usar a interface pyplot em Matplotlib. O módulo pyplot é uma coleção de funções que fazem o Matplotlib funcionar como o MATLAB, permitindo que você crie e personalize gráficos facilmente. Este tutorial assume que você tem uma compreensão básica do Matplotlib e seus conceitos.
Dicas para a VM
Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.
Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.
Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.
Gerando um Gráfico Simples
Para começar, vamos gerar um gráfico simples usando a função plot em pyplot. Neste exemplo, vamos plotar um gráfico de linha com os valores y [1, 2, 3, 4]:
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4])
plt.ylabel('some numbers')
plt.show()
Explicação:
- Importamos o módulo
pyplotdematplotlibe o apelidamos comoplt. - A função
ploté usada para gerar um gráfico de linha. Ao fornecer uma única lista de valores y, os valores x são gerados automaticamente como[0, 1, 2, 3], uma vez que os intervalos do Python começam com 0. - A função
ylabeldefine o rótulo para o eixo y. - Finalmente, a função
showexibe o gráfico.
Formatando o Estilo do Gráfico
Em seguida, vamos personalizar o estilo do nosso gráfico. Podemos usar o terceiro argumento opcional da função plot para especificar a string de formato, que indica a cor e o tipo de linha do gráfico. Por exemplo, vamos plotar o mesmo gráfico de linha com círculos vermelhos:
plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()
Explicação:
- Usamos a string de formato
'ro'para indicar círculos vermelhos para o gráfico. - A função
axisé usada para definir a janela de visualização dos eixos, especificando a faixa de valores para os eixos x e y.
Plotando Múltiplas Linhas
Também podemos plotar múltiplas linhas com diferentes estilos em uma única chamada de função usando arrays. Vamos plotar três linhas: uma linha vermelha tracejada, quadrados azuis e triângulos verdes:
import numpy as np
t = np.arange(0., 5., 0.2)
plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')
plt.show()
Explicação:
- Usamos o módulo
numpypara criar um arraytcom valores de tempo amostrados uniformemente. - A função
ploté chamada com três pares de valoresxey, seguidos pelas strings de formato'r--'(linha vermelha tracejada),'bs'(quadrados azuis) e'g^'(triângulos verdes).
Plotando com Variáveis Categóricas
Matplotlib permite criar gráficos usando variáveis categóricas. Vamos criar um gráfico de barras, um gráfico de dispersão e um gráfico de linhas com variáveis categóricas:
names = ['group_a', 'group_b', 'group_c']
values = [1, 10, 100]
plt.figure(figsize=(9, 3))
plt.subplot(131)
plt.bar(names, values)
plt.subplot(132)
plt.scatter(names, values)
plt.subplot(133)
plt.plot(names, values)
plt.suptitle('Categorical Plotting')
plt.show()
Explicação:
- Criamos uma lista
namescom três valores categóricos e uma listavaluesrepresentando seus valores correspondentes. - A função
figureé chamada para criar uma nova figura com um tamanho especificado. - Usamos a função
subplotpara criar uma grade de subplots. Neste exemplo, criamos três subplots, cada um com um tipo diferente de gráfico: gráfico de barras, gráfico de dispersão e gráfico de linhas. - A função
suptitleé usada para definir o super-título da figura.
Personalizando Propriedades da Linha
Matplotlib permite personalizar várias propriedades da linha, como espessura (linewidth), estilo de traço (dash style) e cor. Vamos demonstrar algumas maneiras de definir as propriedades da linha:
x = np.arange(0, 5, 0.1)
line, = plt.plot(x, np.sin(x), '-')
## Using the Line2D instance's setter method
line.set_linewidth(2.0) ## Set the linewidth property of the line to 2.0
## Using the pyplot.setp function
plt.setp(line, color='r', linewidth=2.0) ## Set the color and linewidth properties using the setp function
plt.show()
Explicação:
- Criamos um array
xe calculamos os valores de y correspondentes usando a funçãonp.sin. - A função
ploté chamada para criar um gráfico de linhas. - Usamos o método
setda instânciaLine2Dpara definir a propriedade de espessura (linewidth) da linha para 2.0. - Alternativamente, podemos usar a função
setppara definir múltiplas propriedades da linha, como cor e espessura (linewidth), usando argumentos de palavra-chave.
Resumo
Neste tutorial, aprendemos como usar a interface pyplot em Matplotlib para criar e personalizar gráficos. Cobrimos a geração de gráficos simples, a formatação do estilo dos gráficos, a plotagem de múltiplas linhas, o uso de variáveis categóricas e a personalização das propriedades da linha. Ao utilizar essas funcionalidades, você pode criar vários tipos de gráficos para visualizar seus dados de forma eficaz.