Disons que j'ai des données d'entrée:
data = np.random.normal(loc=100,scale=10,size=(500,1,32))
hist = np.ones((32,20)) # initialise hist
for z in range(32):
hist[z],edges = np.histogram(data[:,0,z],bins=np.arange(80,122,2))
Je peux le tracer en utilisant imshow()
:
plt.imshow(hist,cmap='Reds')
obtenir:
Cependant, les valeurs de l'axe des x ne correspondent pas aux données d'entrée (c.-à-d. Moyenne de 100, allant de 80 à 122). Par conséquent, j'aimerais changer l'axe des x pour afficher les valeurs dans edges
.
J'ai essayé:
ax = plt.gca()
ax.set_xlabel([80,122]) # range of values in edges
...
# this shifts the plot so that nothing is visible
et
ax.set_xticklabels(edges)
...
# this labels the axis but does not centre around the mean:
Des idées sur la façon dont je peux modifier les valeurs des axes pour refléter les données d'entrée que j'utilise?
pcolor
plutôtimshow
que comme mentionné dans cette réponse .