Introdução
Neste laboratório, aprenderemos como criar um gráfico de linhas com pontos de dados usando Matplotlib em Python. Usaremos a classe EventCollection em Matplotlib para marcar as localizações dos pontos de dados x e y nos respectivos eixos para cada curva.
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ê.
Importar as bibliotecas necessárias
Primeiramente, precisamos importar as bibliotecas necessárias. Usaremos numpy para criar dados aleatórios, matplotlib.pyplot para criar o gráfico e EventCollection de matplotlib.collections para marcar as localizações dos pontos de dados.
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.collections import EventCollection
Criar dados aleatórios
Criaremos dados aleatórios para duas curvas usando a função numpy.random.random(). Geraremos dois conjuntos de 10 números aleatórios entre 0 e 1 e os armazenaremos em um array.
## create random data
xdata = np.random.random([2, 10])
Ordenar os dados
Para criar curvas limpas, ordenaremos os dados usando o método sort().
## split the data into two parts
xdata1 = xdata[0, :]
xdata2 = xdata[1, :]
## sort the data so it makes clean curves
xdata1.sort()
xdata2.sort()
Criar pontos de dados y
Criaremos alguns pontos de dados y para cada curva, realizando algumas operações matemáticas nos pontos de dados x ordenados.
## create some y data points
ydata1 = xdata1 ** 2
ydata2 = 1 - xdata2 ** 3
Criar o gráfico
Criaremos o gráfico usando a função matplotlib.pyplot.plot().
## plot the data
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.plot(xdata1, ydata1, color='tab:blue')
ax.plot(xdata2, ydata2, color='tab:orange')
Criar os eventos
Criaremos os eventos marcando os pontos de dados x e y usando a função EventCollection().
## create the events marking the x data points
xevents1 = EventCollection(xdata1, color='tab:blue', linelength=0.05)
xevents2 = EventCollection(xdata2, color='tab:orange', linelength=0.05)
## create the events marking the y data points
yevents1 = EventCollection(ydata1, color='tab:blue', linelength=0.05,
orientation='vertical')
yevents2 = EventCollection(ydata2, color='tab:orange', linelength=0.05,
orientation='vertical')
Adicionar os eventos ao gráfico
Adicionaremos os eventos ao gráfico usando a função matplotlib.pyplot.add_collection().
## add the events to the axis
ax.add_collection(xevents1)
ax.add_collection(xevents2)
ax.add_collection(yevents1)
ax.add_collection(yevents2)
Definir os limites e adicionar o título
Definiremos os limites dos eixos x e y e adicionaremos um título ao gráfico usando as funções matplotlib.pyplot.xlim(), matplotlib.pyplot.ylim() e matplotlib.pyplot.title().
## set the limits
ax.set_xlim([0, 1])
ax.set_ylim([0, 1])
ax.set_title('line plot with data points')
Exibir o gráfico
Finalmente, exibiremos o gráfico usando a função matplotlib.pyplot.show().
## display the plot
plt.show()
Resumo
Neste laboratório, aprendemos como criar um gráfico de linhas com pontos de dados usando Matplotlib em Python. Usamos a classe EventCollection em Matplotlib para marcar as localizações dos pontos de dados x e y nos respectivos eixos para cada curva.