Я пытаюсь установить метки x tick, но позволяя matplotlib решать, где разместить метки. К сожалению, когда я устанавливаю метки x tick, matplotlib будет использовать строки ярлыков только для отметок, которые были отображены.Как установить метки x tick против фактических значений серии
Пример:
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
xs = range(26)
ys = range(26)
ax.plot(xs, ys)
ax.set_xticklabels(list('abcdefghijklmnopqrstuvwxyz'))
plt.show()
Это дает:
Это для меня довольно неинтуитивными; Я ожидаю, что метки будут соответствовать точкам, которые они показывают. (Однако я могу понять, что это поведение более полезно при построении нескольких серий, которые не используют одни и те же значения х.)
NB: Я не хочу, чтобы все 26 букв как тики. Скорее, я хочу только 6 (как предложил matplotlib), но эти 6 должны соответствовать их положениям. Затем это облегчит изменение размера фига без необходимости вручную пересчитывать новые метки меток.
Как я могу достичь желаемого результата?
Это одна из причин, по которой 'set_ticklabels' является опасным, это pass-thru to FixedFormatter, который должен использоваться только с' FixedLocator'. – tacaswell