我想用imshow()模块绘制一个热图,但是我正在努力使它以我想要的方式工作。我的数据存储在pandasdataframe中,它由100-1000列组成,每列有201行。每列中的第一行是我想在x轴上使用的值,而剩下的200行是要在imshow绘图中使用的数据点。在
以下是我的数据帧的结构(值最终会从0.0000增加):
第一列只是一个介于0-200之间的计数器-我通常在加载数据时删除它,因为它与行索引相同。我当前的问题是在绘图中,当我使用imshow()绘制图形时,它使用行和列索引作为轴刻度。这对于Y轴来说很好,因为它与第0列中的值相同;问题在于X轴的索引值在1-1000之间,而我希望用X的实际值(即381.3、393.3、200.6等)绘制在轴上。我怎么能做到呢?在
目前我得到的是:
以下是我目前使用的代码:rawData = pd.read_csv('heme_mpc_drift2.csv', delimiter=',')
rawData_drop=rawData.drop(rawData[[101,102]], axis=1, inplace=False)
xaxis = rawData_drop.ix[0,1:]
yaxis = rawData_drop.ix[1:,0]
plt.figure(figsize=[10,5])
plt.ylim([200,0])
plt.imshow(rawData_drop, cmap=cmaps.plasma, interpolation="none", aspect='auto', vmax=500000)
plt.colorbar()
plt.show()
我本来希望在imshow()中使用xaxis和{},但是还没弄清楚在哪里。我曾尝试在imshow()中使用extent,但它只将范围1-100的值转换为我给它的任何新范围。在
如有任何建议,我将不胜感激。在
编辑1:
添加了一个我正在寻找的示例: