Matplotlib QuadMesh Plotting Tutorial

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

In diesem Tutorial wird Ihnen die Verwendung der Matplotlib-Bibliothek zum Erstellen eines QuadMesh-Diagramms gezeigt. QuadMesh ist eine schnellere Verallgemeinerung der pcolor-Funktion, jedoch mit einigen Einschränkungen. Die Demo in diesem Tutorial wird einen Fehler in QuadMesh mit maskierten Daten veranschaulichen.

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 nutzen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund der 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/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) matplotlib(("Matplotlib")) -.-> matplotlib/AdvancedTopicsGroup(["Advanced Topics"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/ModulesandPackagesGroup -.-> python/using_packages("Using Packages") matplotlib/AdvancedTopicsGroup -.-> matplotlib/matplotlib_config("Customizing Matplotlib Configurations") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("Numerical Computing") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48892{{"Matplotlib QuadMesh Plotting Tutorial"}} python/lists -.-> lab-48892{{"Matplotlib QuadMesh Plotting Tutorial"}} python/tuples -.-> lab-48892{{"Matplotlib QuadMesh Plotting Tutorial"}} python/build_in_functions -.-> lab-48892{{"Matplotlib QuadMesh Plotting Tutorial"}} python/importing_modules -.-> lab-48892{{"Matplotlib QuadMesh Plotting Tutorial"}} python/using_packages -.-> lab-48892{{"Matplotlib QuadMesh Plotting Tutorial"}} matplotlib/matplotlib_config -.-> lab-48892{{"Matplotlib QuadMesh Plotting Tutorial"}} python/numerical_computing -.-> lab-48892{{"Matplotlib QuadMesh Plotting Tutorial"}} python/data_visualization -.-> lab-48892{{"Matplotlib QuadMesh Plotting Tutorial"}} end

Importieren der erforderlichen Bibliotheken

import numpy as np
from matplotlib import pyplot as plt

Definieren der Daten

n = 12
x = np.linspace(-1.5, 1.5, n)
y = np.linspace(-1.5, 1.5, n * 2)
X, Y = np.meshgrid(x, y)
Qx = np.cos(Y) - np.cos(X)
Qz = np.sin(Y) + np.sin(X)
Z = np.sqrt(X**2 + Y**2) / 5
Z = (Z - Z.min()) / (Z.max() - Z.min())
Zm = np.ma.masked_where(np.abs(Qz) < 0.5 * np.max(Qz), Z)

Erstellen des Diagramms

fig, axs = plt.subplots(nrows=1, ncols=3)
axs[0].pcolormesh(Qx, Qz, Z, shading='gouraud')
axs[0].set_title('Ohne maskierte Werte')
cmap = plt.colormaps[plt.rcParams['image.cmap']].with_extremes(bad='y')
axs[1].pcolormesh(Qx, Qz, Zm, shading='gouraud', cmap=cmap)
axs[1].set_title('Mit maskierten Werten')
axs[2].pcolormesh(Qx, Qz, Zm, shading='gouraud')
axs[2].set_title('Mit maskierten Werten')
fig.tight_layout()
plt.show()

Erklärung

  • Schritt 2: Die Daten werden mit numpy-Arrays definiert. Die X- und Y-Arrays werden verwendet, um ein Gitternetz zu erstellen, das zur Berechnung der Qx- und Qz-Werte verwendet wird. Die Z-Werte werden dann basierend auf den Qx- und Qz-Werten berechnet. Das Zm-Array wird durch Maskieren von Werten erstellt, bei denen der absolute Wert von Qz kleiner als der halbe maximale Wert von Qz ist.
  • Schritt 3: Ein Diagramm mit drei Teildiagrammen wird mit der subplots-Methode erstellt. Die pcolormesh-Funktion wird verwendet, um für jedes Teildiagramm einen QuadMesh-Graphen zu erstellen. Das erste Teildiagramm zeigt den Graphen ohne maskierte Werte. Das zweite Teildiagramm zeigt den Graphen mit maskierten Werten und einer benutzerdefinierten Farbskala, wobei der maskierte Bereich gelb ist. Das dritte Teildiagramm zeigt den Graphen mit maskierten Werten und der Standard-Farbskala, wobei der maskierte Bereich transparent ist.
  • Schritt 4: Der QuadMesh-Graph ist ein nützliches Werkzeug zur Visualisierung von 2D-Daten. In diesem Tutorial haben wir gelernt, wie man die pcolormesh-Funktion verwendet, um einen QuadMesh-Graphen zu erstellen, und wie man maskierte Daten im Graphen behandelt.

Zusammenfassung

In diesem Tutorial wurde ein Schritt-für-Schritt-Leitfaden zur Erstellung eines QuadMesh-Graphen mit der Matplotlib-Bibliothek bereitgestellt. Wir haben gelernt, wie man maskierte Daten im Graphen behandelt und wie man die Farbskala für den maskierten Bereich anpassen kann. Der QuadMesh-Graph ist ein leistungsstarkes Werkzeug zur Visualisierung von 2D-Daten und ist besonders nützlich für wissenschaftliche Anwendungen.