Observação
Clique aqui para baixar o código de exemplo completo
Definindo rótulos de escala de uma lista de valores #
Usar Axes.set_xticks
faz 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()
Referências
O uso das seguintes funções, métodos, classes e módulos é mostrado neste exemplo: