Giả sử tôi có một số dữ liệu đầu vào:
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))
Tôi có thể vẽ nó bằng cách sử dụng imshow()
:
plt.imshow(hist,cmap='Reds')
nhận được:
Tuy nhiên, các giá trị trục x không khớp với dữ liệu đầu vào (nghĩa là giá trị trung bình của 100, phạm vi từ 80 đến 122). Do đó, tôi muốn thay đổi trục x để hiển thị các giá trị trong edges
.
Tôi đã thử:
ax = plt.gca()
ax.set_xlabel([80,122]) # range of values in edges
...
# this shifts the plot so that nothing is visible
và
ax.set_xticklabels(edges)
...
# this labels the axis but does not centre around the mean:
Bất kỳ ý tưởng nào về cách tôi có thể thay đổi các giá trị trục để phản ánh dữ liệu đầu vào mà tôi đang sử dụng?
pcolor
thay vìimshow
như đã đề cập trong câu trả lời này .