3D-Oberflächenplot mit Polarkoordinaten

PythonPythonBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Dieses Lab ist ein Schritt-für-Schritt-Leitfaden zur Erstellung einer 3D-Oberfläche mit Polarkoordinaten mithilfe der Python-Matplotlib-Bibliothek. Dieses Lab setzt Kenntnisse in der Python-Programmierung und der Matplotlib-Bibliothek voraus.

Tipps für die VM

Nachdem der VM-Start abgeschlossen ist, klicken Sie in der oberen linken 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 von Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) matplotlib(("Matplotlib")) -.-> matplotlib/AdvancedPlottingGroup(["Advanced Plotting"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") python/DataStructuresGroup -.-> python/tuples("Tuples") python/DataStructuresGroup -.-> python/sets("Sets") matplotlib/AdvancedPlottingGroup -.-> matplotlib/3d_plots("3D Plots") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("Numerical Computing") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48972{{"3D-Oberflächenplot mit Polarkoordinaten"}} matplotlib/figures_axes -.-> lab-48972{{"3D-Oberflächenplot mit Polarkoordinaten"}} python/tuples -.-> lab-48972{{"3D-Oberflächenplot mit Polarkoordinaten"}} python/sets -.-> lab-48972{{"3D-Oberflächenplot mit Polarkoordinaten"}} matplotlib/3d_plots -.-> lab-48972{{"3D-Oberflächenplot mit Polarkoordinaten"}} python/importing_modules -.-> lab-48972{{"3D-Oberflächenplot mit Polarkoordinaten"}} python/numerical_computing -.-> lab-48972{{"3D-Oberflächenplot mit Polarkoordinaten"}} python/data_visualization -.-> lab-48972{{"3D-Oberflächenplot mit Polarkoordinaten"}} end

Importieren der erforderlichen Bibliotheken

Wir beginnen mit dem Importieren der erforderlichen Bibliotheken für dieses Lab, die Matplotlib und NumPy umfassen. Matplotlib ist eine Plotbibliothek für Python, während NumPy eine Bibliothek für die Python-Programmiersprache ist, die die Unterstützung für große, mehrdimensionale Arrays und Matrizen hinzufügt.

import matplotlib.pyplot as plt
import numpy as np

Erstellen des Gitters

Als nächstes werden wir das Gitter in Polarkoordinaten erstellen und die entsprechende Z berechnen. Wir werden ein Array von Radiuswerten r, ein Array von Winkelwerten p erstellen und dann die meshgrid()-Funktion von NumPy verwenden, um ein Gitter von R- und P-Werten zu erstellen. Schließlich werden wir die Z-Gleichung verwenden, um die Höhe jedes Punktes auf der Oberfläche zu berechnen.

r = np.linspace(0, 1.25, 50)
p = np.linspace(0, 2*np.pi, 50)
R, P = np.meshgrid(r, p)
Z = ((R**2 - 1)**2)

Darstellung des Gitters im kartesischen Koordinatensystem

Jetzt werden wir das Gitter im kartesischen Koordinatensystem mithilfe der cos()- und sin()-Funktionen von NumPy darstellen.

X, Y = R*np.cos(P), R*np.sin(P)

Zeichnen der Oberfläche

In diesem Schritt werden wir die Oberfläche mit der plot_surface()-Funktion von Matplotlib zeichnen. Wir werden die Farbpalette YlGnBu_r verwenden, um die Farbe der Oberfläche festzulegen.

fig = plt.figure()
ax = fig.add_subplot(projection='3d')
ax.plot_surface(X, Y, Z, cmap=plt.cm.YlGnBu_r)

Anpassen der Grenzen und Hinzufügen von Beschriftungen

Schließlich werden wir die Grenzen des Diagramms anpassen und Achsenbeschriftungen hinzufügen, indem wir die Funktionen set_zlim(), set_xlabel(), set_ylabel() und set_zlabel() von Matplotlib verwenden. Wir werden auch die LaTeX-Math-Mode verwenden, um die Achsenbeschriftungen zu schreiben.

ax.set_zlim(0, 1)
ax.set_xlabel(r'$\phi_\mathrm{real}$')
ax.set_ylabel(r'$\phi_\mathrm{im}$')
ax.set_zlabel(r'$V(\phi)$')

Zusammenfassung

In diesem Lab haben wir gelernt, wie man mit der Python-Matplotlib-Bibliothek eine 3D-Oberfläche mit Polarkoordinaten erstellt. Wir haben begonnen, indem wir die erforderlichen Bibliotheken importiert haben, ein Gitter in Polarkoordinaten erstellt haben, das Gitter im kartesischen Koordinatensystem dargestellt haben, die Oberfläche geplottet haben und schließlich die Grenzen angepasst und Achsenbeschriftungen hinzugefügt haben.