Criando gráfico de seno vs cosseno em Python
Crie um gráfico de seno vs cosseno utilizando Matplotlib e NumPy.
Entendendo o Matplotlib:
Matplotlib é uma biblioteca para fazer gráficos 2D de matrizes em Python . Ainda que tenha sua origem na emulação dos comandos gráficos do MATLAB, ele é independente do MATLAB e pode ser usada de forma Pythônica e orientada a objetos. Apesar do Matplotlib ser escrito principalmente em Python puro, ele faz uso intenso de NumPy e de outros códigos de extensão para fornecer um bom desempenho, mesmo para matrizes grandes.
Veja mais em https://numpy.org/doc/stable/user/whatisnumpy.html
Entendendo o NumPy:
NumPy é o pacote fundamental para a computação científica em Python. É uma biblioteca Python que fornece um objeto de matriz multidimensional, vários objetos derivados (tais como matrizes e matrizes mascaradas), e um conjunto de rotinas para operações rápidas em matrizes, incluindo matemática, lógica, ordenação, seleção, I/O, transformações de Fourier, álgebra linear básica, operações estatísticas básicas, simulação aleatória e muito mais.
Veja mais em https://matplotlib.org/stable/users/history.html
Let’s go to Code!
Passo-1
Primeiro vamos importar as bibliotecas e pacotes para que possamos utilizar em nosso código:
import matplotlib.pyplot as plt
import numpy as np
import math
Obs: O “import math” é um módulo que fornece acesso às funções matemáticas em Python, veja mais em https://docs.python.org/pt-br/3/library/math.html
Passo-2
Vamos passar os pontos que cada curva será feita, no caso serão duas, construiremos um conjunto de valores x de -360º a 360º e adicionamos 0,1 de radianos para usar em nosso gráfico. Os valores x são armazenados em uma matriz numpy. A arange()
função de Numpy tem três argumentos: start , stop , step . Que será start em -360, stop em -360 e step de 0,1 radianos. Em seguida, definimos uma variável y
como o seno de x usando a sin()
função de numpy .
# -360 360 (os valores para seno e cosseno)
x = np.arange(math.radians(-360), math.radians(360),0.1)
y = np.sin(x)
z = np.cos(x)
Passo-3
Vamos “plotar” nosso gráfico:
plt.plot(x,y,x,z)
plt.xlabel('x valores de -360º para 360º')
plt.ylabel('sin(x) e cos(x)')
plt.title('Gráfico de sin e cos de -360º to 360º')
plt.legend(['sin(x)', 'cos(x)'])
plt.show()
Observe que o plt.legend()
método requer uma lista de strings ( ['string1', 'string2']
), onde as strings individuais são colocadas entre aspas, depois separadas por vírgulas e, finalmente, colocadas entre colchetes para fazer uma lista. A primeira string na lista corresponde ao primeiro par xy quando chamamos plt.plot()
, a segunda string na lista corresponde ao segundo par x, y na plt.plot()
linha.
Resultado
Quando rodamos o nosso código aparecerá o nosso gráfico dessa maneira:
Espero ter ajudado de alguma forma :]
Você pode encontrar esse código e executá-lo em: https://replit.com/join/bkvntcgd-beatrizoliveiir
E no GitHub: https://github.com/beatrizoliveiira/graph-python