Einführung
In diesem Tutorial wird die Verwendung von Python Matplotlib zum Erstellen von Kreisen, Keilen und Polygonen beschrieben. Mit .collections.PatchCollection können die erstellten Formen visualisiert werden.
Tipps für die VM
Nachdem die VM gestartet ist, klicken Sie in der linken oberen Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu öffnen.
Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund der Einschränkungen von Jupyter Notebook nicht automatisiert werden.
Wenn Sie während des Lernens Probleme haben, können Sie Labby fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie sofort beheben.
Importieren der erforderlichen Bibliotheken
Zunächst müssen wir die erforderlichen Bibliotheken importieren.
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.collections import PatchCollection
from matplotlib.patches import Circle, Polygon, Wedge
Erstellen einer Figur und einer Achse
Wir erstellen eine Figur und eine Achse, um die Formen zu zeichnen.
fig, ax = plt.subplots()
Definieren der Anzahl der Eckpunkte und der Anzahl der Formen
Wir definieren die Anzahl der Eckpunkte und die Anzahl der zu erstellenden Formen.
resolution = 50 ## die Anzahl der Eckpunkte
N = 3
Kreise erstellen
Wir erstellen Kreise mit Circle() und fügen sie einer Liste von Patches hinzu.
x = np.random.rand(N)
y = np.random.rand(N)
radii = 0.1*np.random.rand(N)
patches = []
for x1, y1, r in zip(x, y, radii):
circle = Circle((x1, y1), r)
patches.append(circle)
Keile erstellen
Wir erstellen Keile mit Wedge() und fügen sie zur Liste der Patches hinzu.
x = np.random.rand(N)
y = np.random.rand(N)
radii = 0.1*np.random.rand(N)
theta1 = 360.0*np.random.rand(N)
theta2 = 360.0*np.random.rand(N)
for x1, y1, r, t1, t2 in zip(x, y, radii, theta1, theta2):
wedge = Wedge((x1, y1), r, t1, t2)
patches.append(wedge)
Begrenzungskonditionen für die Keile hinzufügen
Wir fügen Begrenzungskonditionen für die Keile hinzu.
patches += [
Wedge((.3,.7),.1, 0, 360), ## Vollständiger Kreis
Wedge((.7,.8),.2, 0, 360, width=0.05), ## Vollständiger Ring
Wedge((.8,.3),.2, 0, 45), ## Vollständiger Sektor
Wedge((.8,.3),.2, 45, 90, width=0.10), ## Ringsektor
]
Polygone erstellen
Wir erstellen Polygone mit Polygon() und fügen sie zur Liste der Patches hinzu.
for i in range(N):
polygon = Polygon(np.random.rand(N, 2), closed=True)
patches.append(polygon)
Farben festlegen und PatchCollection erstellen
Wir legen die Farben der Formen fest und erstellen eine PatchCollection().
colors = 100 * np.random.rand(len(patches))
p = PatchCollection(patches, alpha=0.4)
p.set_array(colors)
ax.add_collection(p)
fig.colorbar(p, ax=ax)
Zeige das Diagramm an
Wir zeigen das Diagramm an.
plt.show()
Zusammenfassung
In diesem Tutorial wurde gezeigt, wie man mit Python Matplotlib Kreise, Keile und Polygone erstellt. Wir haben auch gelernt, wie man .collections.PatchCollection verwendet, um die erstellten Formen zu visualisieren.