Cambie los valores en el eje del gráfico matplotlib imshow ()

Digamos que tengo algunos datos 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))

Puedo trazarlo usandoimshow():

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

consiguiendo:

Sin embargo, los valores del eje x no coinciden con los datos de entrada (es decir, media de 100, rango de 80 a 122). Por lo tanto, me gustaría cambiar el eje x para mostrar los valores enedges.

Yo he tratado:

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

y

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

¿Alguna idea sobre cómo puedo cambiar los valores del eje para reflejar los datos de entrada que estoy usando?

Respuestas a la pregunta(2)

Su respuesta a la pregunta