Einführung
In diesem Tutorial werden wir lernen, wie man die Tick-Labels (Markierungsbeschriftungen) der x-Achse mithilfe der Python-Bibliothek Matplotlib an die Oberseite des Diagramms verschiebt. Standardmäßig platziert Matplotlib die x-Achsenbeschriftungen am unteren Rand des Diagramms. Manchmal möchten wir sie jedoch aus Gründen einer besseren Visualisierung, insbesondere bei überfüllten Diagrammen oder langen Beschriftungen, die möglicherweise mit anderen Elementen überlappen, an der Oberseite platzieren.
Diese Technik ist besonders nützlich in Datenvisualisierungs-Szenarien, in denen Sie die Raumausnutzung optimieren und die Lesbarkeit Ihrer Diagramme verbessern müssen. Wir werden ein einfaches Diagramm erstellen und lernen, wie man die Position der Tick-Labels Schritt für Schritt manipuliert.
Tipps zur virtuellen Maschine (VM)
Nachdem der Start der virtuellen Maschine abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und auf Jupyter Notebook für die Übung zuzugreifen.

Sie müssen möglicherweise einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Aufgrund der Einschränkungen von Jupyter Notebook kann die Validierung der Operationen nicht automatisiert werden.
Wenn Sie während dieses Tutorials auf Probleme stoßen, können Sie sich gerne an Labby wenden. Bitte geben Sie uns nach der Sitzung Feedback, damit wir eventuelle Probleme umgehend beheben können.
Grundlagen von Matplotlib und Erstellung eines Notebooks
In diesem ersten Schritt werden wir uns mit Matplotlib vertraut machen und ein neues Jupyter-Notebook für unsere Visualisierungsaufgabe erstellen.
Was ist Matplotlib?
Matplotlib ist eine umfassende Bibliothek zur Erstellung von statischen, animierten und interaktiven Visualisierungen in Python. Sie bietet eine objektorientierte API (Anwendungs-Programmierschnittstelle) zum Einbetten von Diagrammen in Anwendungen und wird von Wissenschaftlern, Ingenieuren und Datenanalysten häufig für die Datenvisualisierung eingesetzt.
Erstellen eines neuen Notebooks
Lassen Sie uns in der ersten Zelle Ihres Notebooks die Matplotlib-Bibliothek importieren. Geben Sie den folgenden Code ein und führen Sie die Zelle aus, indem Sie Shift+Enter drücken:
import matplotlib.pyplot as plt
import numpy as np
## Check the Matplotlib version
print(f"NumPy version: {np.__version__}")

Wenn Sie diesen Code ausführen, sollten Sie eine Ausgabe ähnlich der folgenden sehen:
NumPy version: 2.0.0
Die genaue Versionsnummer kann je nach Ihrer Umgebung variieren.
Jetzt haben wir Matplotlib importiert und können es verwenden. plt ist ein üblicher Alias für das pyplot-Modul, das eine MATLAB-ähnliche Schnittstelle zur Erstellung von Diagrammen bietet.
Erstellen eines einfachen Diagramms mit Standard-Einstellungen
Nachdem wir Matplotlib importiert haben, erstellen wir nun ein einfaches Diagramm mit Standard-Einstellungen, um zu verstehen, wie die Achsen und Tick-Labels (Markierungsbeschriftungen) standardmäßig positioniert werden.
Grundlagen der Matplotlib-Komponenten
In Matplotlib besteht ein Diagramm aus mehreren Komponenten:
- Figure (Figur): Der Gesamt-Container für das Diagramm
- Axes (Achsenbereich): Der Bereich, in dem die Daten mit eigenem Koordinatensystem dargestellt werden
- Axis (Achse): Die linienähnlichen Objekte, die das Koordinatensystem definieren
- Ticks (Markierungen): Die Markierungen auf den Achsen, die bestimmte Werte markieren
- Tick Labels (Markierungsbeschriftungen): Die Textbeschriftungen, die den Wert jeder Markierung angeben
Standardmäßig erscheinen die Tick-Labels der x-Achse am unteren Rand des Diagramms.
Erstellen eines einfachen Diagramms
In einer neuen Zelle Ihres Notebooks erstellen wir ein einfaches Linien-Diagramm:
## Create a figure and a set of axes
fig, ax = plt.subplots(figsize=(8, 5))
## Generate some data
x = np.arange(0, 10, 1)
y = np.sin(x)
## Plot the data
ax.plot(x, y, marker='o', linestyle='-', color='blue', label='sin(x)')
## Add a title and labels
ax.set_title('A Simple Sine Wave Plot')
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis (sin(x))')
## Add a grid and legend
ax.grid(True, linestyle='--', alpha=0.7)
ax.legend()
## Display the plot
plt.show()
print("Notice that the x-axis tick labels are at the bottom of the plot by default.")
Wenn Sie diesen Code ausführen, sehen Sie ein Sinuswellen-Diagramm, bei dem die Tick-Labels der x-Achse am unteren Rand des Diagramms positioniert sind, was die Standard-Position in Matplotlib ist.
Nehmen Sie sich einen Moment Zeit, um zu beobachten, wie das Diagramm strukturiert ist und wo die Tick-Labels positioniert sind. Dieses Verständnis wird uns helfen, die Änderungen, die wir im nächsten Schritt vornehmen, besser zu verstehen.
Verschieben der Tick-Labels der x-Achse nach oben
Nachdem wir die Standard-Positionierung der Tick-Labels verstanden haben, verschieben wir nun die Tick-Labels der x-Achse nach oben im Diagramm.
Grundlagen der Tick-Parameter
Matplotlib bietet die Methode tick_params(), um das Erscheinungsbild von Tick-Markierungen und Tick-Labels zu steuern. Mit dieser Methode können wir:
- Tick-Markierungen und Tick-Labels anzeigen/ausblenden
- Ihre Position ändern (oben, unten, links, rechts)
- Ihre Größe, Farbe und andere Eigenschaften anpassen
Erstellen eines Diagramms mit Tick-Labels der x-Achse oben
Erstellen wir ein neues Diagramm, bei dem die Tick-Labels der x-Achse nach oben verschoben sind:
## Create a new figure and a set of axes
fig, ax = plt.subplots(figsize=(8, 5))
## Generate some data
x = np.arange(0, 10, 1)
y = np.cos(x)
## Plot the data
ax.plot(x, y, marker='s', linestyle='-', color='green', label='cos(x)')
## Move the x-axis tick labels to the top
ax.tick_params(
axis='x', ## Apply changes to the x-axis
top=True, ## Show ticks on the top side
labeltop=True, ## Show tick labels on the top side
bottom=False, ## Hide ticks on the bottom side
labelbottom=False ## Hide tick labels on the bottom side
)
## Add a title and labels
ax.set_title('Cosine Wave with X-Axis Tick Labels at the Top')
ax.set_xlabel('X-axis (now at the top!)')
ax.set_ylabel('Y-axis (cos(x))')
## Add a grid and legend
ax.grid(True, linestyle='--', alpha=0.7)
ax.legend()
## Display the plot
plt.show()
print("Now the x-axis tick labels are at the top of the plot!")
Wenn Sie diesen Code ausführen, sehen Sie ein Kosinuswellen-Diagramm, bei dem die Tick-Labels der x-Achse oben im Diagramm positioniert sind.
Beachten Sie, wie die Methode tick_params() mit mehreren Parametern verwendet wird:
axis='x': Gibt an, dass wir die x-Achse ändern möchtentop=Trueundlabeltop=True: Macht Tick-Markierungen und -Labels oben sichtbarbottom=Falseundlabelbottom=False: Blendet Tick-Markierungen und -Labels unten aus
Dadurch erhalten wir eine klare Ansicht der Daten, bei der die x-Achsen-Labels oben statt unten positioniert sind.
Weitere Anpassung des Diagramms
Nachdem wir die Tick-Labels der x-Achse nach oben verschoben haben, passen wir unser Diagramm nun weiter an, um es visuell ansprechender und informativer zu gestalten.
Fortgeschrittene Techniken zur Diagrammanpassung
Matplotlib bietet zahlreiche Optionen zur Anpassung von Diagrammen. Betrachten wir einige dieser Optionen:
## Create a new figure and a set of axes
fig, ax = plt.subplots(figsize=(10, 6))
## Generate some data with more points for a smoother curve
x = np.linspace(0, 2*np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)
## Plot multiple datasets
ax.plot(x, y1, linewidth=2, color='blue', label='sin(x)')
ax.plot(x, y2, linewidth=2, color='red', label='cos(x)')
## Fill the area between curves
ax.fill_between(x, y1, y2, where=(y1 > y2), alpha=0.3, color='green', interpolate=True)
ax.fill_between(x, y1, y2, where=(y1 <= y2), alpha=0.3, color='purple', interpolate=True)
## Move the x-axis tick labels to the top
ax.tick_params(
axis='x',
top=True,
labeltop=True,
bottom=False,
labelbottom=False
)
## Customize tick labels
ax.set_xticks(np.arange(0, 2*np.pi + 0.1, np.pi/2))
ax.set_xticklabels(['0', 'π/2', 'π', '3π/2', '2π'])
## Add title and labels with custom styles
ax.set_title('Sine and Cosine Functions with Customized X-Axis Labels at the Top',
fontsize=14, fontweight='bold', pad=20)
ax.set_xlabel('Angle (radians)', fontsize=12)
ax.set_ylabel('Function Value', fontsize=12)
## Add a grid and customize its appearance
ax.grid(True, linestyle='--', alpha=0.7, which='both')
## Customize the axis limits
ax.set_ylim(-1.2, 1.2)
## Add a legend with custom location and style
ax.legend(loc='upper right', fontsize=12, framealpha=0.8)
## Add annotations to highlight important points
ax.annotate('Maximum', xy=(np.pi/2, 1), xytext=(np.pi/2, 1.1),
arrowprops=dict(facecolor='black', shrink=0.05, width=1.5),
fontsize=10, ha='center')
## Display the plot
plt.tight_layout() ## Adjust spacing for better appearance
plt.show()
print("We have created a fully customized plot with x-axis tick labels at the top!")
Wenn Sie diesen Code ausführen, sehen Sie ein viel aufwändigeres und professioneller aussehendes Diagramm mit:
- Zwei Kurven (Sinus und Kosinus)
- Farbigen Bereichen zwischen den Kurven
- Angepassten Tick-Labels (mit π-Notation)
- Anmerkungen, die wichtige Merkmale markieren
- Besseren Abständen und Stilen
Beachten Sie, wie wir die Tick-Labels der x-Achse mit der Methode tick_params() oben belassen haben, aber das Diagramm mit zusätzlichen Anpassungen verbessert haben.
Verständnis der Anpassungen
Lassen Sie uns einige der wichtigen Anpassungen, die wir vorgenommen haben, analysieren:
fill_between(): Erstellt farbige Bereiche zwischen den Sinus- und Kosinus-Kurvenset_xticks()undset_xticklabels(): Passt die Positionen und Beschriftungen der Tick-Markierungen antight_layout(): Passt die Abstände im Diagramm automatisch für ein besseres Erscheinungsbild anannotate(): Fügt Text mit einem Pfeil hinzu, der auf einen bestimmten Punkt zeigt- Angepasste Schriftarten, Farben und Stile für verschiedene Elemente
Diese Anpassungen zeigen, wie Sie visuell ansprechende und informativer Diagramme erstellen können, während Sie die Tick-Labels der x-Achse oben belassen.
Speichern und Teilen Ihres Diagramms
Der letzte Schritt besteht darin, Ihr angepasstes Diagramm zu speichern, damit Sie es in Berichten, Präsentationen einbinden oder es mit anderen teilen können.
Speichern von Diagrammen in verschiedenen Formaten
Matplotlib ermöglicht es Ihnen, Diagramme in verschiedenen Formaten zu speichern, darunter PNG, JPG, PDF, SVG und viele mehr. Lassen Sie uns lernen, wie wir unser Diagramm in verschiedenen Formaten speichern können:
## Create a plot similar to our previous customized one
fig, ax = plt.subplots(figsize=(10, 6))
## Generate data
x = np.linspace(0, 2*np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)
## Plot the data
ax.plot(x, y1, linewidth=2, color='blue', label='sin(x)')
ax.plot(x, y2, linewidth=2, color='red', label='cos(x)')
## Move the x-axis tick labels to the top
ax.tick_params(
axis='x',
top=True,
labeltop=True,
bottom=False,
labelbottom=False
)
## Customize tick labels
ax.set_xticks(np.arange(0, 2*np.pi + 0.1, np.pi/2))
ax.set_xticklabels(['0', 'π/2', 'π', '3π/2', '2π'])
## Add title and labels
ax.set_title('Plot with X-Axis Labels at the Top', fontsize=14)
ax.set_xlabel('X-axis at the top')
ax.set_ylabel('Y-axis')
## Add grid and legend
ax.grid(True)
ax.legend()
## Save the figure in different formats
plt.savefig('plot_with_top_xlabels.png', dpi=300, bbox_inches='tight')
plt.savefig('plot_with_top_xlabels.pdf', bbox_inches='tight')
plt.savefig('plot_with_top_xlabels.svg', bbox_inches='tight')
## Show the plot
plt.show()
print("The plot has been saved in PNG, PDF, and SVG formats in the current directory.")
Wenn Sie diesen Code ausführen, wird das Diagramm in drei verschiedenen Formaten gespeichert:
- PNG: Ein Rasterbildformat, das gut für das Web und die allgemeine Verwendung geeignet ist
- PDF: Ein Vektorgrafikformat, das ideal für Publikationen und Berichte ist
- SVG: Ein Vektorgrafikformat, das hervorragend für das Web und bearbeitbare Grafiken geeignet ist
Die Dateien werden im aktuellen Arbeitsverzeichnis Ihres Jupyter-Notebooks gespeichert.
Verständnis der Speicherparameter
Lassen Sie uns die Parameter untersuchen, die mit savefig() verwendet werden:
dpi=300: Legt die Auflösung (Punkte pro Zoll) für Rasterformate wie PNG festbbox_inches='tight': Passt automatisch die Diagrammgrenzen an, um alle Elemente ohne unnötigen Leerraum einzuschließen
Anzeigen der gespeicherten Dateien
Sie können die gespeicherten Dateien anzeigen, indem Sie im Jupyter-Dateibrowser navigieren:
- Klicken Sie auf das "Jupyter"-Logo oben links.
- Im Dateibrowser sollten Sie die gespeicherten Bilddateien sehen.
- Klicken Sie auf eine beliebige Datei, um sie anzuzeigen oder herunterzuladen.
Zusätzliche Optionen zum Exportieren von Diagrammen
Für eine bessere Kontrolle über das gespeicherte Diagramm können Sie die Diagrammgröße anpassen, den Hintergrund einstellen oder die DPI (Auflösung) nach Ihren Bedürfnissen ändern:
## Control the background color and transparency
fig.patch.set_facecolor('white') ## Set figure background color
fig.patch.set_alpha(0.8) ## Set background transparency
## Save with custom settings
plt.savefig('custom_background_plot.png',
dpi=400, ## Higher resolution
facecolor=fig.get_facecolor(), ## Use the figure's background color
edgecolor='none', ## No edge color
bbox_inches='tight', ## Tight layout
pad_inches=0.1) ## Add a small padding
print("A customized plot has been saved with specialized export settings.")
Dies zeigt, wie Sie Diagramme mit präziser Kontrolle über das Ausgabeformat und das Erscheinungsbild speichern können.
Zusammenfassung
In diesem Tutorial haben wir gelernt, wie man die Tick-Labels der x-Achse mit Matplotlib von ihrer Standardposition unten nach oben im Diagramm verschiebt. Diese Technik kann nützlich sein, wenn man mit Diagrammen arbeitet, die lange Beschriftungen haben oder wenn man die Platzausnutzung optimieren muss.
Wir haben die folgenden Schlüsselpunkte behandelt:
- Grundlagen von Matplotlib und seiner Komponenten wie Figuren, Achsen und Tick-Labels verstehen
- Einfache Diagramme mit Standard-Einstellungen erstellen, um die Standardplatzierung der Tick-Labels der x-Achse zu beobachten
- Die Methode
tick_params()verwenden, um die Tick-Labels der x-Achse nach oben im Diagramm zu verschieben - Das Diagramm mit zusätzlichen Anpassungen verbessern, um es informativer und visuell ansprechender zu gestalten
- Diagramme in verschiedenen Formaten speichern, um sie zu teilen und zu veröffentlichen
Mit diesen Kenntnissen können Sie lesbarere und professionellere Visualisierungen erstellen, insbesondere wenn Sie mit komplexen Datensätzen arbeiten oder wenn die Diagramme bestimmte Layoutanforderungen haben.
Um Ihr Lernen fortzusetzen, können Sie sich andere Anpassungsoptionen von Matplotlib ansehen, wie beispielsweise:
- Erstellen von Subdiagrammen mit verschiedenen Positionen der Tick-Labels
- Anpassen des Erscheinungsbilds von Tick-Markierungen und Tick-Labels (Farbe, Schriftart, Größe usw.)
- Arbeiten mit verschiedenen Diagrammtypen wie Balkendiagrammen, Streudiagrammen oder Histogrammen mit benutzerdefinierten Tick-Positionen
Die Flexibilität von Matplotlib ermöglicht umfangreiche Anpassungen, um Ihren spezifischen Visualisierungsbedürfnissen gerecht zu werden.