Setzen von Tick-Beschriftungen aus einer Liste von Werten#

Die Verwendung von Axes.set_xticks bewirkt, dass die Tick-Beschriftungen auf den aktuell ausgewählten Ticks gesetzt werden. Sie möchten jedoch möglicherweise, dass Matplotlib die Anzahl der Ticks und deren Abstand dynamisch wählt.

In diesem Fall kann es besser sein, die Tick-Beschriftung anhand des Werts am Tick zu bestimmen. Das folgende Beispiel zeigt, wie dies gemacht wird.

NB: ticker.MaxNLocator wird hier verwendet, um sicherzustellen, dass die Tick-Werte Ganzzahlwerte ergeben.

import matplotlib.pyplot as plt

from matplotlib.ticker import MaxNLocator

fig, ax = plt.subplots()
xs = range(26)
ys = range(26)
labels = list('abcdefghijklmnopqrstuvwxyz')


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


# A FuncFormatter is created automatically.
ax.xaxis.set_major_formatter(format_fn)
ax.xaxis.set_major_locator(MaxNLocator(integer=True))
ax.plot(xs, ys)
plt.show()
tick labels from values

Referenzen

Die Verwendung der folgenden Funktionen, Methoden, Klassen und Module wird in diesem Beispiel gezeigt

Galerie generiert von Sphinx-Gallery