Criar Gráficos Polares com Matplotlib

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Matplotlib é uma biblioteca Python utilizada para criar visualizações estáticas, animadas e interativas em Python. Uma das principais características do Matplotlib é sua capacidade de criar gráficos 2D e 3D de todos os tipos e estilos, incluindo gráficos de dispersão (scatter plots), gráficos de linhas (line plots) e gráficos de barras (bar charts). Neste laboratório, você aprenderá como criar uma curva polar em uma caixa retangular usando Matplotlib.

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

Nesta etapa, importaremos as bibliotecas necessárias para criar a curva polar. Usaremos numpy para computação numérica e matplotlib para criar o gráfico.

import matplotlib.pyplot as plt
import numpy as np

Definir os Eixos Polares

Nesta etapa, definiremos os eixos polares e definiremos o fator de escala. Usaremos PolarAxes.PolarTransform() para definir os eixos polares.

from matplotlib.projections import PolarAxes
from matplotlib.transforms import Affine2D

## Define the polar axes
tr = Affine2D().scale(np.pi / 180., 1.) + PolarAxes.PolarTransform()

Definir o Auxiliar de Grade (Grid Helper)

Nesta etapa, definiremos o auxiliar de grade que será usado para criar a curva polar. Usaremos GridHelperCurveLinear para definir o auxiliar de grade.

from mpl_toolkits.axisartist import GridHelperCurveLinear, HostAxes
import mpl_toolkits.axisartist.angle_helper as angle_helper

## Define the grid helper
extreme_finder = angle_helper.ExtremeFinderCycle(20,
                                                 20,
                                                 lon_cycle=360,
                                                 lat_cycle=None,
                                                 lon_minmax=None,
                                                 lat_minmax=(0, np.inf),
                                                 )
grid_locator1 = angle_helper.LocatorDMS(12)
tick_formatter1 = angle_helper.FormatterDMS()

grid_helper = GridHelperCurveLinear(tr,
                                    extreme_finder=extreme_finder,
                                    grid_locator1=grid_locator1,
                                    tick_formatter1=tick_formatter1
                                    )

Criar os Eixos Host (Host Axes)

Nesta etapa, criaremos os eixos host e definiremos o auxiliar de grade. Usaremos fig.add_subplot() para criar os eixos host.

## Create the host axes
fig = plt.figure(figsize=(5, 5))
ax1 = fig.add_subplot(axes_class=HostAxes, grid_helper=grid_helper)

Criar Eixos Flutuantes (Floating Axes)

Nesta etapa, criaremos dois eixos flutuantes que serão usados para exibir a curva polar em uma caixa retangular. Usaremos new_floating_axis() para criar os eixos flutuantes.

## Create the floating axes
ax1.axis["lat"] = axis = ax1.new_floating_axis(0, 60)
axis.label.set_text(r"$\theta = 60^{\circ}$")
axis.label.set_visible(True)

ax1.axis["lon"] = axis = ax1.new_floating_axis(1, 6)
axis.label.set_text(r"$r = 6$")

Definir os Limites e Exibir a Grade (Grid)

Nesta etapa, definiremos os limites para os eixos e exibiremos a grade. Usaremos set_aspect() para definir a proporção (aspect ratio) dos eixos e grid() para exibir a grade.

## Set the limits and display the grid
ax1.set_aspect(1.)
ax1.set_xlim(-5, 12)
ax1.set_ylim(-5, 10)
ax1.grid(True)

Exibir a Curva Polar

Nesta etapa, exibiremos a curva polar na caixa retangular. Usaremos plt.show() para exibir o gráfico.

## Display the polar curve
plt.show()

Resumo

Neste laboratório, você aprendeu como criar uma curva polar em uma caixa retangular usando Matplotlib. Você aprendeu como definir os eixos polares e o auxiliar de grade (grid helper), criar os eixos hospedeiros (host axes), criar os eixos flutuantes (floating axes), definir os limites, exibir a grade e exibir a curva polar. Com este conhecimento, você pode criar uma ampla variedade de curvas polares em caixas retangulares usando Matplotlib.