Ändern Sie die Werte auf der Grafikachse matplotlib imshow ()

Angenommen, ich habe einige Eingabedaten:

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

Ich kann es mit zeichnenimshow():

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

bekommen:

Die x-Achsenwerte stimmen jedoch nicht mit den Eingabedaten überein (d. H. Mittelwert von 100, Bereich von 80 bis 122). Daher möchte ich die x-Achse ändern, um die Werte in anzuzeigenedges.

Ich habe versucht:

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

und

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

Irgendwelche Ideen, wie ich die Achsenwerte ändern kann, um die von mir verwendeten Eingabedaten widerzuspiegeln?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage