Diciamo che ho alcuni dati di input:
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))
Posso tracciarlo usando imshow()
:
plt.imshow(hist,cmap='Reds')
ottenere:
Tuttavia, i valori dell'asse x non corrispondono ai dati di input (cioè la media di 100, gamma da 80 a 122). Pertanto, vorrei modificare l'asse x per mostrare i valori in edges
.
Ho provato:
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:
Qualche idea su come posso modificare i valori degli assi per riflettere i dati di input che sto utilizzando?
pcolor
invece diimshow
come menzionato in questa risposta .