สมมติว่าฉันมีข้อมูลอินพุต:
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')
รับ:
อย่างไรก็ตามค่าแกน x ไม่ตรงกับข้อมูลอินพุต (เช่นค่าเฉลี่ย 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
ตามที่กล่าวไว้ในคำตอบนี้