Traccia un cerchio in Matplotlib

  1. Metodo matplotlib.patches.Circle() per tracciare un cerchio in Matplotlib
  2. Equazione del cerchio per tracciare un cerchio in Matplotlib
  3. Grafico a dispersione di punti
Traccia un cerchio in Matplotlib

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

Traccia il cerchio con il metodo matplotlib.patches.Circle()

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

Traccia il cerchio con il metodo matplotlib.patches.Circle() senza riempire il colore

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

Traccia il cerchio più semplice

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

tracciare il cerchio con l’equazione parametrica del cerchio

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

trama cerchio con l’equazione generale del cerchio

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

Traccia un cerchio con un diagramma a dispersione

Ti piacciono i nostri tutorial? Iscriviti a DelftStack su YouTube per aiutarci a creare altre guide video di alta qualità. Iscriviti
Autore: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn