Wie man in Matplotlib einen Kreis zeichnet

Suraj Joshi 30 Januar 2023
  1. matplotlib.patches.Circle() Methode zum Plotten eines Kreises in der Matplotlib
  2. Kreisgleichung zur Darstellung eines Kreises in Matplotlib
  3. Streudiagramm von Punkten
Wie man in Matplotlib einen Kreis zeichnet

Um einen Kreis in Matplotlib zu zeichnen, können wir eine der folgenden Methoden verwenden:

  • matplotlib.patches.Circle() Methode
  • Kreis-Gleichung
  • Streudiagramm von Punkten

matplotlib.patches.Circle() Methode zum Plotten eines Kreises in der Matplotlib

Syntax:

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

Dabei ist (x, y) der Mittelpunkt des Kreises und r der Radius mit einem Standardwert von 5.

Wir müssen mit der Methode add_artist einen Kreis zu den Achsen hinzufügen, da Circle eine Unterklasse von Artist ist.

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

Plotten Sie einen Kreis mit der Methode matplotlib.patches.Circle()

Um einen Kreis ohne Füllfarbe zu zeichnen, sollten wir den Parameter Füllung auf False setzen.

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

Plotten eines Kreises mit der Methode matplotlib.patches.Circle() ohne Füllfarbe

Wir können den obigen Code vereinfachen, indem wir mit Hilfe der Funktionen gcf() und gca() schnell einen Kreis in einen bestehenden Plot einfügen.

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

Kreis einfacher plotten

Kreisgleichung zur Darstellung eines Kreises in Matplotlib

Parametrische Kreisgleichung

Die parametrische Gleichung des Kreises lautet x=r*cos(theta) und 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()

Kreis mit parametrischer Kreisgleichung zeichnen

Zentrum-Radius-Form der Kreisgleichung

Wir können auch einen Kreis unter Verwendung der Zentrum-Radius-Form der Kreisgleichung zeichnen.

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

Kreis mit allgemeiner Kreisgleichung plotten

Streudiagramm von Punkten

Wir können auch einen Kreis in Matplotlib mit der scatter() Methode zeichnen und den Radius mit dem s Parameter anpassen. Die Fläche des Kreises ist 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()

Kreis mit Streudiagramm zeichnen

Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn