Matplotlib-Diagramme mit Koordinatensystemen annotieren

Beginner

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

Einführung

Matplotlib ist ein leistungsstarkes Visualisierungstool, das es Benutzern ermöglicht, eine Vielzahl von Diagrammen und Grafiken zu erstellen. Anmerkungen sind ein wichtiges Merkmal von Matplotlib, das Benutzern ermöglicht, Text und Pfeile zu ihren Diagrammen hinzuzufügen. In diesem Tutorial lernen wir, wie verschiedene Koordinatensysteme für Anmerkungen verwendet werden.

VM-Tipps

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

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.

Bibliotheken importieren

Der erste Schritt besteht darin, die erforderlichen Bibliotheken zu importieren. Wir werden die Bibliothek matplotlib.pyplot verwenden, um unser Diagramm und die Anmerkungen zu erstellen.

import matplotlib.pyplot as plt
import numpy as np

Daten erstellen

Als nächstes werden wir einige Daten erstellen, um ein Diagramm zu plotten. Wir werden die Bibliothek numpy verwenden, um eine Sinuswelle zu erstellen.

x = np.arange(0, 10, 0.005)
y = np.exp(-x/2.) * np.sin(2*np.pi*x)

Das Diagramm erstellen

Jetzt werden wir das Diagramm mit der Bibliothek matplotlib.pyplot erstellen. Wir werden die x- und y-Bereiche des Diagramms festlegen und dann die Daten plotten.

fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_xlim(0, 10)
ax.set_ylim(-1, 1)

Koordinaten transformieren

Der nächste Schritt besteht darin, die Koordinaten der Daten und der Anzeige zu transformieren. Wir werden die Methode ax.transData verwenden, um die Datenkoordinaten zu transformieren, und das Koordinatensystem figure pixels, um die Anzeige-Koordinaten zu transformieren.

xdata, ydata = 5, 0
xdisplay, ydisplay = ax.transData.transform((xdata, ydata))

Anmerkungen hinzufügen

Der letzte Schritt besteht darin, Anmerkungen zum Diagramm hinzuzufügen. Wir werden die Methode ax.annotate verwenden, um Text und Pfeile zum Diagramm hinzuzufügen. Wir werden auch die Parameter bbox und arrowprops verwenden, um die Anmerkungen zu gestalten.

bbox = dict(boxstyle="round", fc="0.8")
arrowprops = dict(
    arrowstyle="->",
    connectionstyle="angle,angleA=0,angleB=90,rad=10")

offset = 72
ax.annotate(
    f'data = ({xdata:.1f}, {ydata:.1f})',
    (xdata, ydata),
    xytext=(-2*offset, offset), textcoords='offset points',
    bbox=bbox, arrowprops=arrowprops)
ax.annotate(
    f'display = ({xdisplay:.1f}, {ydisplay:.1f})',
    xy=(xdisplay, ydisplay), xycoords='figure pixels',
    xytext=(0.5*offset, -offset), textcoords='offset points',
    bbox=bbox, arrowprops=arrowprops)

Zeige das Diagramm an

Der letzte Schritt besteht darin, das Diagramm mit der Methode plt.show() anzuzeigen.

plt.show()

Zusammenfassung

In diesem Tutorial haben wir gelernt, wie verschiedene Koordinatensysteme für Anmerkungen in Matplotlib verwendet werden. Wir haben ein Diagramm erstellt, die Daten- und Anzeige-Koordinaten transformiert und Anmerkungen zum Diagramm mit der Methode ax.annotate hinzugefügt. Anmerkungen sind ein wichtiges Merkmal von Matplotlib, das es Benutzern ermöglicht, Kontext und Informationen zu ihren Diagrammen hinzuzufügen.