sexta-feira, 24 de abril de 2020

Matplotlib e NumPy em Python

Matplotlib e NumPy em Python


Você não precisar saber usar a biblioteca numpy para usar a biblioteca matplotli. Mas a biblioteca NumPy fornecem muitas funções e métodos que podem nos ajudar a criar o nosso gráfico. Ter conhecimento da biblioteca numpy será muito útil na utilização da biblioteca matplotlib.
Para entendermos melhor como um conhecimento da biblioteca numpy pode ser útil vamos desenhar uma linha no gráfico fazendo uso da função seno de x (sin(x)). O primeiro gráfico será feito sem utilizar a biblioteca numpy e o outro fará uso da biblioteca.
Exemplo
import math
import matplotlib.pyplot as plt

T = range(100)
x = [(2 * math.pi * t) / len(T) for t in T]
y = [math.sin(i) for i in x]

plt.plot(x, y)
plt.show()
Nesse exemplo faremos uso do módulo numpy.
Exemplo
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * np.pi, 100)
y = np.sin(x)

plt.plot(x, y)
plt.show()
Executando os dois exemplos você terá esse gráfico como resultado:


A única alteração no código foi feita na parte onde são geradas as coordenadas do gráfico. E mesmo assim o resultado foi o mesmo. Com uma diferença: utilizando a biblioteca numpy o código ficou mais simples.
No primeiro exemplos usamos as bibliotecas padrão do python para gerar as coordenadas de uma onda senoidal. Já no segundo utilizamos as funções da biblioteca numpy para fazer o mesmo trabalho.
A função linspace cria uma matriz com cem elementos uniformemente espaçados. Todos com os valores entre 0 e 2 * pi. Já a função sin retorna o seno de cada elemento da matriz x, que foi criada com a função linspace.
Com as funções da biblioteca numpy não precisamos calcular os valores, um por um, como fizemos no primeiro exemplo utilizando o módulo math. A biblioteca numpy trabalha com matrizes por isso podemos passar todos os valores de uma vez.
Por trabalhar com matrizes podemos utilizar a biblioteca numpy para gerar curvas de forma mais rápidas e economizar tempo. Outra vantagem de se utilizar as matrizes da numpy é a sua velocidade de execução. Já que a biblioteca foi otimizada para trabalhar com matrizes.
No próximo exemplo vamos traçar a linha do binômio x^2 -2x +1, no intervalo entre -3 e 2 usando 200 pontos.
Exemplo
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-3, 2, 200)
y = x ** 2 - 2 * x + 1

plt.plot(x, y)
plt.show()
Executando o código acima o resultado deve ser um gráfico como esse:


Como no primeiro exemplo poderíamos criar as coordenadas usando apenas as bibliotecas padrão do python. Mas utilizando a biblioteca numpy o código fica mais legível e simples.
Considere aprender a utilizar a biblioteca numpy. É possível utilizar o módulo matplotlib sem saber nada de numpy. Mas saber numpy vai facilitar muito o trabalho na criação de coordenadas.

0 comentários:

Postar um comentário