Подтвердить что ты не робот

Как установить тики по фиксированной позиции, matplotlib

Может ли кто-нибудь помочь мне установить тики на фиксированной позиции, используя matplotlib? Я попытался использовать FixedPosition, как описано в этом учебнике:

ax = pl.gca()
ax.xaxis.set_major_locator(eval(locator))

http://scipy-lectures.github.io/intro/matplotlib/matplotlib.html#figures-subplots-axes-and-ticks

Но когда я пытаюсь запустить, он сообщает мне, что метод set_major_locator не существует.

Простой пример будет очень полезен.

Спасибо.

4b9b3361

Ответ 1

Просто используйте ax.set_xticks(positions) или ax.set_yticks(positions).

Например:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.set_xticks([0.15, 0.68, 0.97])
ax.set_yticks([0.2, 0.55, 0.76])
plt.show()

enter image description here

Ответ 2

import numpy as np
import matplotlib.ticker as ticker
import matplotlib.pyplot as plt

name_list = ('Omar', 'Serguey', 'Max', 'Zhou', 'Abidin')
value_list = np.random.randint(0, 99, size = len(name_list))
pos_list = np.arange(len(name_list))

ax = plt.axes()
ax.xaxis.set_major_locator(ticker.FixedLocator((pos_list)))
ax.xaxis.set_major_formatter(ticker.FixedFormatter((name_list)))
plt.bar(pos_list, value_list, color = '.75', align = 'center')

plt.show()