Impostazione delle etichette di spunta da un elenco di valori #

L'utilizzo Axes.set_xticksfa sì che le etichette dei tick vengano impostate sui tick attualmente scelti. Tuttavia, potresti voler consentire a matplotlib di scegliere dinamicamente il numero di tick e la loro spaziatura.

In questo caso potrebbe essere meglio determinare l'etichetta del tick dal valore al tick. L'esempio seguente mostra come eseguire questa operazione.

NB: ticker.MaxNLocatorqui viene utilizzato per garantire che i valori tick prendano valori interi.

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()
contrassegnare le etichette dai valori

Galleria generata da Sphinx-Gallery