Traccia un cerchio in Matplotlib

Suraj Joshi 30 gennaio 2023
  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

Autore: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn