python matplotlib imshow() personnalisé les graduations
j'essaie de définir des marques de tique personnalisées sur ma sortie imshow (), mais je n'ai pas trouvé la bonne combinaison.
Le script ci-dessous résume mes tentatives. Dans ce script, j'essaie de faire les tickmarks à tous les nombres pairs sur chaque axe au lieu de la valeur par défaut (-10,-5,0,5,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()
je commence à avoir le sentiment qu'set_ticks() peut ne pas être la façon de le faire, mais je ne sais plus quoi essayer.
Merci!
9
demandé sur
zje
2012-02-21 22:00:56
1 réponses
http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.xticks
plt.xticks(ticks)
Edit: comme Yann le mentionne dans un commentaire, vous pourriez aussi être intéressé par plt.yticks()
Résultat (en utilisant plt.xticks(ticks, fontsize=9)
):
12
répondu
bernie
2012-02-21 18:45:36