Питон xticks в сюжетных линий

Если я сюжет один imshow сюжет, я могу использовать

fig, ax = plt.subplots()
ax.imshow(data)
plt.xticks( [4, 14, 24],  [5, 15, 25] )

чтобы заменить мой xtick этикетки.

Теперь, я замышлял 12 `imshow сюжеты используя

f, axarr = plt.subplots(4, 3)
axarr[i, j].imshow(data)

Как я могу изменить мой xticks только на один из этих сюжетных линий? Я могу только открыть осей сюжетных линий с axarr[я, J]. Как я могу получить доступ кПЛТ` только для одной конкретной делянке?

Решение

Есть два способа:

  1. Использовать методы осей объекта сюжетные (например, топор.set_xticks и топор.set_xticklabels) или
  2. Используйте ПЛТ.СКС для установки текущего осей для pyplot государственной машины (т. е. ПЛТ интерфейс).

В качестве примера (это также иллюстрирует использование шаг, чтобы изменить свойства всех сюжетных линий):

import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=3, ncols=4)

# Set the ticks and ticklabels for all axes
plt.setp(axes, xticks=[0.1, 0.5, 0.9], xticklabels=['a', 'b', 'c'],
        yticks=[1, 2, 3])

# Use the pyplot interface to change just one subplot...
plt.sca(axes[1, 1])
plt.xticks(range(3), ['A', 'Big', 'Cat'], color='red')

fig.tight_layout()
plt.show()

Комментарии (1)

Увидеть (совсем) последние ответить в репозитории библиотек matplotlib, в котором следующие решения предлагается:

  • Если вы хотите установить xticklabels:

топор.set_xticks([1,4,5]) топор.set_xticklabels([1,4,5], свойство FontSize=12)

  • Если вы хотите только увеличить размер шрифта в xticklabels, используя значения по умолчанию и локаций (чего я лично часто требуется и найти очень пригодится):

топор.tick_params(оси=на"Х" и, labelsize=12)

  • Сделать это все сразу:

ДПП.сэтп(топор.get_xticklabels(), свойство FontSize=12, свойство fontweight=и"жирный" и, поле HorizontalAlignment=то"оставили")`

Комментарии (0)

Похоже, в более поздней версии библиотек matplotlib, в set_yticks и функции set_xticks удаляются. То, что я сделал, вместо того, чтобы устанавливать размер X и y клещей, я просто изменил размер рисунка.

plt.figure(1, dpi=200, figsize=(20,20))

Я знаю, что это'ы вроде анти-интуитивно понятный, но, что's то, что работал для меня... Дайте мне знать, если есть лучшие способы, чтобы решить эту проблему в более поздних версиях библиотек matplotlib. Спасибо

Комментарии (0)