Comment tracer un cercle dans Matplotlib

Suraj Joshi 30 janvier 2023
  1. Méthode matplotlib.patches.Circle() pour tracer un cercle dans Matplotlib
  2. Équation de cercle pour tracer un cercle dans Matplotlib
  3. Diagramme de dispersion des points
Comment tracer un cercle dans Matplotlib

Pour tracer un cercle dans Matplotlib, nous pouvons utiliser l’une des méthodes suivantes:

  • méthode matplotlib.patches.Circle()
  • Équation circulaire
  • Diagramme de dispersion des points

Méthode matplotlib.patches.Circle() pour tracer un cercle dans Matplotlib

Syntaxe:

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

(x, y) est le centre du cercle et r est le rayon avec une valeur par défaut de 5.

Nous devons ajouter un cercle aux axes avec la méthode add_artist car Circle est une sous-classe 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()

Tracer un cercle avec la méthode matplotlib.patches.Circle()

Pour tracer un cercle sans remplir la couleur, nous devons définir le paramètre fill sur 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()

Tracer un cercle avec la méthode matplotlib.patches.Circle() sans couleur de remplissage

Nous pouvons simplifier le code ci-dessus en branchant rapidement le cercle dans un tracé existant à l’aide des fonctions gcf() et 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()

Tracer le cercle plus simplement

Équation de cercle pour tracer un cercle dans Matplotlib

Équation paramétrique du cercle

L’équation paramétrique du cercle est x=r*cos(theta) et 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()

tracé de cercle avec équation paramétrique de cercle

forme de rayon central de l’équation du cercle

Nous pouvons également tracer un cercle en utilisant la forme de rayon central de l’équation du cercle.

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

tracer le cercle avec l’équation générale du cercle

Diagramme de dispersion des points

Nous pouvons également dessiner un cercle dans Matplotlib en utilisant la méthode scatter() et ajuster le rayon en utilisant le paramètre s. L’aire du cercle est 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()

Cercle de tracé avec nuage de points

Auteur: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn