настроить галочки для AxesImage? - PullRequest
8 голосов
/ 15 сентября 2010

Я создал графическое изображение с ax = imshow().ax - это объект AxesImage, но я не могу найти функцию или атрибут, который мне нужен для настройки меток тиков. обычные pyplots , кажется, имеют методы set_ticks и set_ticklabels, но они не доступны для класса AxesImage.Есть идеи?Спасибо ~

1 Ответ

9 голосов
/ 16 сентября 2010

Для чего бы это ни стоило, вы немного не понимаете, что возвращает 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(...)

Надеюсь, это немного прояснит ситуацию!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...