HOWTO · Matplotlib

Como Traçar um Círculo em Matplotlib

Podemos traçar um círculo usando remendos de círculo, equação de círculo, e trama de dispersão em Matplotlib.

Nesta página

Para traçar um círculo em Matplotlib, podemos utilizar qualquer um dos seguintes métodos:

  • matplotlib.patches.Circle() método
  • Equação de Círculo
  • Gráfico de dispersão de pontos

matplotlib.patches.Circle() Método para Traçar um Círculo em Matplotlib

Sintaxe:

matplotlib.patches.Circle((x, y), r=5, **kwargs)

(x, y) é o centro do círculo e r é o raio com um valor padrão de 5.

Precisamos adicionar um círculo aos eixos com o método add_artist, pois Circle é uma subclasse de Artist.

import matplotlib.pyplot as plt

figure, axes = plt.subplots()
draw_circle = plt.Circle((0.5, 0.5), 0.3)

axes.set_aspect(1)
axes.add_artist(draw_circle)
plt.title("Circle")
plt.show()

Círculo de plotagem com o método matplotlib.patches.Circle()

Para traçar um círculo sem preencher a cor, devemos definir o parâmetro fill para ser False.

import matplotlib.pyplot as plt

figure, axes = plt.subplots()
draw_circle = plt.Circle((0.5, 0.5), 0.3, fill=False)

axes.set_aspect(1)
axes.add_artist(draw_circle)
plt.title("Circle")
plt.show()

Círculo de plotagem com matplotlib.patches.Circle() método sem cor de preenchimento

Podemos tornar o código acima mais simples ligando rapidamente o círculo em uma trama existente com a ajuda das funções gcf() e gca().

import matplotlib.pyplot as plt

figure, axes = plt.subplots()
draw_circle = plt.Circle((0.5, 0.5), 0.3, fill=False)

plt.gcf().gca().add_artist(draw_circle)
plt.title("Circle")
axes.set_aspect(1)
plt.show()

Círculo de parcelas mais simples

Equação de Círculo para Traçar um Círculo em Matplotlib

Equação Paramétrica de Círculo

A equação paramétrica do círculo é x=r*cos(theta) e y=r*sin(theta).

import numpy as np
import matplotlib.pyplot as plt

theta = np.linspace(0, 2 * np.pi, 100)

radius = 0.3

a = radius * np.cos(theta)
b = radius * np.sin(theta)

figure, axes = plt.subplots(1)

axes.plot(a, b)
axes.set_aspect(1)

plt.title("Circle using Parametric Equation")
plt.show()

círculo de trama com equação paramétrica de círculo

Forma Center-Radius da Equação do Círculo

Também podemos traçar um círculo usando a forma de centro-rádio da equação do círculo.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-0.5, 0.5, 100)
y = np.linspace(-0.5, 0.5, 100)

a, b = np.meshgrid(x, y)

C = a ** 2 + b ** 2 - 0.2

figure, axes = plt.subplots()

axes.contour(a, b, C, [0])
axes.set_aspect(1)

plt.show()

círculo de trama com a equação geral do círculo

Gráfico de dispersão de pontos

Também podemos desenhar um círculo em Matplotlib utilizando o método scatter() e ajustar o raio utilizando o parâmetro s. A área do círculo é pi/4*s.

import matplotlib.pyplot as plt

plt.scatter(0, 0, s=4000)
plt.title("Circle")

plt.xlim(-0.75, 0.75)
plt.ylim(-0.75, 0.75)

plt.show()

Círculo de plotagem com plotagem de dispersão