Definindo rótulos de escala de uma lista de valores #

Usar Axes.set_xticksfaz com que os rótulos dos ticks sejam definidos nos ticks atualmente escolhidos. No entanto, você pode permitir que o matplotlib escolha dinamicamente o número de marcações e seu espaçamento.

Nesse caso, pode ser melhor determinar o rótulo do tick a partir do valor do tick. O exemplo a seguir mostra como fazer isso.

NB: O ticker.MaxNLocatoré usado aqui para garantir que os valores dos ticks tenham valores inteiros.

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()
marcar rótulos de valores

Galeria gerada por Sphinx-Gallery