Alterar valores no eixo do gráfico matplotlib imshow ()

Digamos que eu tenha alguns dados de entrada:

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))

Eu posso plotar usandoimshow():

plt.imshow(hist,cmap='Reds')

obtendo:

No entanto, os valores do eixo x não correspondem aos dados de entrada (ou seja, a média de 100, entre 80 e 122). Portanto, gostaria de alterar o eixo x para mostrar os valores emedges.

Eu tentei:

ax = plt.gca()
ax.set_xlabel([80,122]) # range of values in edges
...
# this shifts the plot so that nothing is visible

e

ax.set_xticklabels(edges)
...
# this labels the axis but does not centre around the mean:

Alguma idéia de como eu posso alterar os valores do eixo para refletir os dados de entrada que estou usando?

questionAnswers(2)

yourAnswerToTheQuestion