domingo, 17 de maio de 2020

Coordenadas polares com Matplotlib

Coordenadas polares com Matplotlib

Na matemática, uma coordenada polar é utilizado como um sistema de coordenadas bidimensional onde cada ponto no plano é determinado por uma distância e um ângulo em relação a um ponto fixo de referência. Esse ponto de referência é chamado de polo, e a semirreta do polo na direção de referência é chamado de eixo polar.
As coordenadas polares são uma boa escolha para representar dados que se repetem num determinado período de tempo, como numa safra, no ano, ou até mesmo no dia. Nesse tutorial vamos aprender como utilizar coordenadas polares nos nossos gráficos.

Como plotar uma curva polar

No exemplo abaixo vamos criar uma curva polar usando a biblioteca matplotlib:

Exemplo
import numpy as np
import matplotlib.pyplot as plt

a = np.linspace(0 , 2 * np.pi, 1024)

plt.axes(polar = True)
plt.plot(a, 1. + .25 * np.cos(16 * a), c = (.2, 1., .2))
plt.show()

Executando o exemplo acima você deve ter como resultado um gráfico com coordenas polares igual a este:

Como funciona…

Nos exemplos anteriores já criamos objetos axes com o método axes. E sabemos que fazendo isso diretamente podemos personalizar as configurações, como nesse caso onde definimos que a projeção seria polar. Definimos isso passando o valor True para o parâmetro polar.

Tem mais…

O gráfico de projeções polares é muito utilizado para desenhar curvas. Mas podemos utilizar o mesmo tipo de projeção para representar barras ou criar polígonos. Por exemplo, uma coisa interessante que podemos fazer com a projeção polar e utilizando polígonos é um gráfico de radar. Veja como criar um gráfico de radar no exemplo abaixo:

Exemplo
import numpy as np
import matplotlib.patches as patches
import matplotlib.pyplot as plt

axes = plt.axes(polar = True)
teta = np.linspace(0, 2 * np.pi, 8, endpoint = False)
raio = .25 + .75 * np.random.random(size = len(teta))
pontos = np.vstack((teta, raio)).transpose()
plt.gca().add_patch(patches.Polygon(pontos, color = (0., .40, 1.)))
plt.show()

Executando o código acima o seu gráfico deve ficar parecido com esse:

Nesse exemplo as coordenadas do polígono (pontos) são ângulos e a distância do centro. Desse jeito não precisamos fazer conversões de coordenadas polares para cartesianas.

0 comentários:

Postar um comentário