Изменить количество тиков на AxisArtist - PullRequest
0 голосов
/ 29 марта 2019

Я пытаюсь построить декартовы оси, такие как здесь :

enter image description here

Из-за перекрывающихся yticks я хочу уменьшить их количество. Я попробовал этот подход.

for n, label in enumerate(ax.axis[direction].get_ticklabels()):
    if n % 5 != 0:
        label.set_visible(False)

Но выдало ошибку:

'AxisArtist' object has no attribute 'get_ticklabels'

Как я могу преодолеть это?

1 Ответ

1 голос
/ 29 марта 2019

mpl_toolkits.axes_grid.axislines устарела; вместо этого импортируйте из mpl_toolkits.axisartist.

Добавление ax.set_yticks(np.linspace(-1, 1, 5)) сделает.

Если вы хотите динамически распределять тики в зависимости от длины оси, вы можете использовать ax.set_yticks(np.arange(*ax.axis()[2:], 0.5)) (для установки расстояния между тиками) или ax.set_yticks(np.linspace(*ax.axis()[2:], 5)) (для установки количества тиков).

Пример результата:

Example result

...