Tickels aus einer Liste von Werten erstellen

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 lernen Sie, wie Sie mit Matplotlib Tick-Labels aus einer Liste von Werten erstellen. Wenn Sie .Axes.set_xticks verwenden, werden die Tick-Labels auf den aktuell ausgewählten Tick-Punkten festgelegt. Manchmal ist es jedoch besser, Matplotlib zu erlauben, die Anzahl der Tick-Punkte und ihren Abstand dynamisch zu wählen. In diesem Fall möchten Sie möglicherweise die Tick-Label aus dem Wert am Tick-Punkt bestimmen. In diesem Tutorial wird Ihnen gezeigt, wie Sie dies tun.

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

Importieren der erforderlichen Bibliotheken

Wir beginnen mit dem Importieren der erforderlichen Bibliotheken für dieses Tutorial, nämlich matplotlib.pyplot und MaxNLocator aus matplotlib.ticker.

import matplotlib.pyplot as plt
from matplotlib.ticker import MaxNLocator

Erstellen eines Figure- und Axes-Objekts

Als nächstes erstellen wir ein Figure- und Axes-Objekt mit der subplots()-Methode aus matplotlib.pyplot.

fig, ax = plt.subplots()

Erstellen der x- und y-Daten

Wir erstellen die x- und y-Daten mit der range()-Methode aus der eingebauten range-Funktion in Python.

xs = range(26)
ys = range(26)

Erstellen einer Liste von Labels

Wir erstellen eine Liste von Labels, indem wir die list()-Methode verwenden, um einen String des Alphabets in eine Liste von Zeichen umzuwandeln.

labels = list('abcdefghijklmnopqrstuvwxyz')

Erstellen einer Formatierungsfunktion

Wir erstellen eine Formatierungsfunktion, die das Tick-Label aus dem Wert an der Markierung bestimmt. Wenn der Tick-Wert eine Ganzzahl im Bereich von xs ist, wird das entsprechende Label aus der labels-Liste zurückgegeben. Andernfalls wird ein leerer String zurückgegeben.

def format_fn(tick_val, tick_pos):
    if int(tick_val) in xs:
        return labels[int(tick_val)]
    else:
        return ''

Festlegen des Tick-Formatters und -Lokators

Wir legen den x-Achsen-Tick-Formatter auf die in Schritt 5 erstellte Formatierungsfunktion mit der set_major_formatter()-Methode fest. Wir legen auch den x-Achsen-Tick-Lokator auf MaxNLocator(integer=True) fest, um sicherzustellen, dass die Tick-Werte ganzzahlige Werte annehmen.

ax.xaxis.set_major_formatter(format_fn)
ax.xaxis.set_major_locator(MaxNLocator(integer=True))

Erstellen des Plots

Wir erstellen den Plot mit der plot()-Methode des axes-Objekts und übergeben die xs- und ys-Daten.

ax.plot(xs, ys)

Zeige den Plot an

Schließlich zeigen wir den Plot mit der show()-Methode von matplotlib.pyplot.

plt.show()

Zusammenfassung

In diesem Tutorial hast du gelernt, wie du mit Matplotlib Tick-Labels aus einer Liste von Werten erstellst. Wir haben zuerst ein Figure- und Axes-Objekt erstellt, dann die x- und y-Daten erzeugt und schließlich eine Liste von Labels erstellt. Danach haben wir eine Formatierungsfunktion erstellt, die das Tick-Label aus dem Wert an der Markierung bestimmt, und den Tick-Formatter und -Lokator festgelegt. Schließlich haben wir den Plot erstellt und angezeigt.