Traccia un cerchio in Matplotlib
-
Metodo
matplotlib.patches.Circle()
per tracciare un cerchio in Matplotlib - Equazione del cerchio per tracciare un cerchio in Matplotlib
- Grafico a dispersione di punti
Per tracciare un cerchio in Matplotlib, possiamo utilizzare uno dei seguenti metodi:
- Metodo
matplotlib.patches.Circle()
- Equazione del cerchio
- Grafico a dispersione di punti
Metodo matplotlib.patches.Circle()
per tracciare un cerchio in Matplotlib
Sintassi:
matplotlib.patches.Circle((x, y), r=5, **kwargs)
Dove, (x, y)
è il centro del cerchio e r
è il raggio con un valore predefinito di 5
.
Dobbiamo aggiungere un cerchio agli assi con il metodo add_artist
poiché Circle
è una sottoclasse di 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()
Per tracciare un cerchio senza riempire il colore, dovremmo impostare il parametro fill
su 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()
Possiamo rendere il codice precedente più semplice inserendo rapidamente circle in un grafico esistente con l’aiuto delle funzioni 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()
Equazione del cerchio per tracciare un cerchio in Matplotlib
Equazione parametrica del cerchio
L’equazione parametrica del cerchio è 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 centro-raggio dell’equazione del cerchio
Possiamo anche tracciare un cerchio usando la forma centro-raggio dell’equazione del cerchio.
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()
Grafico a dispersione di punti
Possiamo anche disegnare un cerchio in Matplotlib usando il metodo scatter()
e regolare il raggio usando il parametro s
. L’area del cerchio è 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