在Python中,我有一个2D数组,例如:
1.3 5.7 3.2 5.6 2.3 9.5 1.1 4.1 5.2
然后我使用'imshow'来获得我需要的东西 - 我基本上有一个x轴为: (列)0(列)1(列)2 ....
,y轴是: 。 。 (排)2 (行)1 (行)0
然后实际值(5.6或2.3或其他)用颜色表示,这正是我想要的。
但后来,我不想x轴只是第0列第1列和第2列等,我希望x轴显示对应于第0列第1列和第2列等的日期。此信息已存储在另一个列表中,例如“date_info []”。
因此,我想要底层的任意索引方案,而不是imshow的x值对应于date_info []列表的值 - 而不是数字2,例如,我想要date_info [2] x轴。
现在在这个论坛的帮助下,我能够使用:
plt.xticks(mjdaxis,[int(np.floor(data_info[i])) for i in mjdaxis])
这已经足够了一段时间,但我只是在这里更改x轴的标签吗?而不是被绘制的内容。现在,当我试图在我原来的顶部放置另一个图(只是常规曲线)时,x轴缩放变得混乱,我的列再次聚集为(1,2,3 ......),而不是其对应的date_info值(55500,55530,55574 ......)
如果有人能够理解我所说的话,那就太棒了!!
供参考,以下是我正在尝试的代码:
fig = plt.figure()
ax1 = fig.add_subplot(111)
mjdaxis=np.linspace(0,date_info[0]-1,20).astype('int')
ax1.set_xticks(mjdaxis,[int(np.floor(date_info[i])) for i in mjdaxis])
ax1.imshow(residuals, aspect="auto")
ax2 = ax1.twinx()
ax2.plot(pdot[8:,0],pdot[8:,1])
plt.show()
答案 0 :(得分:0)
如果我理解正确,您应该可以在ax2.set_xticks([])
之前添加行plt.show()
。您可能还想阅读kwarg hold
。