Для чего бы это ни стоило, вы немного не понимаете, что возвращает imshow()
и как вообще устроены оси matplotlib ...
Объект AxesImage отвечает за отображаемое изображение (например, карты цветов, данныеи т. д.), но не ось, в которой находится изображение. Он не контролирует такие вещи, как метки и метки.
То, что вы хотите использовать, - это текущий экземпляр оси.
Вы можете получить к нему доступ с помощью gca()
, если вы используете интерфейс pylab
, или matplotlib.pyplot.gca
, если вы получаете доступ к вещам через pyplot.Однако, если вы используете любой из них, есть функция xticks()
для получения / установки меток и местоположений xtick.
Например (при использовании pylab):
import pylab
pylab.figure()
pylab.plot(range(10))
pylab.xticks([2,3,4], ['a','b','c'])
pylab.show()
Использованиеболее объектно-ориентированный подход (на случайной ноте геттеры и сеттеры matplotlib быстро раздражают ...):
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(1,1,1) # Or we could call plt.gca() later...
im = ax.imshow(np.random.random((10,10)))
ax.set_xticklabels(['a','b','c','d']) # Or we could use plt.xticks(...)
Надеюсь, это немного прояснит ситуацию!