2012-02-21 20 views
8

Próbuję ustawić niestandardowe znaczniki na moim obrazie imshow(), ale nie znalazłem odpowiedniej kombinacji.python matplotlib imshow() niestandardowe znaczniki wyboru

Poniższy skrypt podsumowuje moje próby. W tym scenariuszu, staram się wprowadzić znaków podziałki na wszystkie numery parzyste na każdej osi zamiast domyślnego (-10, -5,0,5,10)

#!/usr/bin/env python 
import matplotlib.pyplot as plt 
import numpy as np 

#Generate random histogram 
N=25 
middle=N/2 
hist=np.random.random_sample((N,N)) 

#Ticks at even numbers, data centered at 0 
ticks=np.arange(-middle,middle+2,2) 

extent=(-middle,middle,-middle,middle) 
plt.imshow(hist, interpolation='nearest', extent=extent, origin='lower') 
plt.colorbar() 

# 
#These are my attempts to set the tick marks 
# 
#plt.gcf().gca().set_ticks(ticks) 

#plt.gca().set_ticks(ticks) 

#ax=plt.axes() 
#ax.set_ticks(ticks) 

plt.show() 

Zaczynam uzyskać poczucie, że set_ticks() może nie być sposób, aby to zrobić, ale nie jestem pewien, co jeszcze spróbować.

Dzięki!

Odpowiedz

12

http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.xticks

plt.xticks(ticks) 

Edycja: jak Yann wspomina w komentarzu, może być także zainteresowany plt.yticks()

wynik (używając plt.xticks(ticks, fontsize=9)): enter image description here

+2

lub 'plt.gca() .set_xticks (ticks) ' – steabert

+2

+1 - Zgaduję również, że OP szukał zarówno' set_xticks' oraz 'set_yticks' – Yann

+0

Dokładnie tego, czego szukałem ... nie jestem pewien h ow, tęskniłem za tym, dzięki! – zje

Powiązane problemy