Скажімо, у мене є деякі вхідні дані:
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))
Я можу побудувати це за допомогою imshow()
:
plt.imshow(hist,cmap='Reds')
отримання:
Однак значення осі х не відповідають вхідним даним (тобто середнє значення 100, коливається від 80 до 122). Тому я хотів би змінити вісь x для відображення значень у edges
.
Я намагався:
ax = plt.gca()
ax.set_xlabel([80,122]) # range of values in edges
...
# this shifts the plot so that nothing is visible
і
ax.set_xticklabels(edges)
...
# this labels the axis but does not centre around the mean:
Будь-які ідеї щодо того, як я можу змінити значення осі, щоб відобразити вхідні дані, які я використовую?
pcolor
замість того,imshow
як зазначено у цій відповіді .