Como Traçar um Círculo em Matplotlib
-
matplotlib.patches.Circle()
Método para Traçar um Círculo em Matplotlib - Equação de Círculo para Traçar um Círculo em Matplotlib
- Gráfico de dispersão de pontos
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()
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()
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()
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()
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()
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()