Cómo trazar un círculo en Matplotlib
-
Método
matplotlib.patches.Circle()
para trazar un círculo en Matplotlib - Ecuación circular para trazar un círculo en Matplotlib
- Diagrama de dispersión de puntos
Para trazar un círculo en Matplotlib
, podemos usar cualquiera de los siguientes métodos:
- método
matplotlib.patches.Circle()
- Ecuación circular
- Diagrama de dispersión de puntos
Método matplotlib.patches.Circle()
para trazar un círculo en Matplotlib
Sintaxis:
matplotlib.patches.Circle((x, y), r=5, **kwargs)
Donde, (x, y)
es el centro del círculo y r
es el radio con un valor predeterminado de 5
.
Necesitamos agregar un círculo a los ejes con el método add_artist
ya que Circle
es una subclase 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 trazar un círculo sin color de relleno, debemos configurar el parámetro fill
como 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 simplificar el código anterior conectando rápidamente el círculo en un diagrama existente con la ayuda de las funciones gcf()
y 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()
Ecuación circular para trazar un círculo en Matplotlib
Ecuación paramétrica de círculo
La ecuación paramétrica del círculo es “x=r*cos(theta) y "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 de radio central de la ecuación circular
También podemos trazar un círculo usando la forma de radio central de la ecuación del 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()
Diagrama de dispersión de puntos
También podemos dibujar un círculo en Matplotlib usando el método scatter()
y ajustar el radio usando el parámetro s
. El área del círculo es 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()
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn