Cómo trazar un círculo en Matplotlib

Suraj Joshi 30 enero 2023
  1. Método matplotlib.patches.Circle() para trazar un círculo en Matplotlib
  2. Ecuación circular para trazar un círculo en Matplotlib
  3. Diagrama de dispersión de puntos
Cómo trazar un círculo en Matplotlib

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()

Trazar círculo con el método matplotlib.patches.Circle()

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()

Trazar círculo con el método matplotlib.patches.Circle() sin color de relleno

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()

Trazar círculo más simple

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()

trazar círculo con ecuación paramétrica de círculo

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()

trazar círculo con ecuación general de círculo

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()

Trazar círculo con diagrama de dispersión

Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn