2012-07-25 52 views
0

我有代码,这使得一个二维阵列的图。沿x轴只是我的数组的索引,但我希望x轴显示索引代表的值。显示值的索引表示在x轴上

相关的代码:

plt.imshow(data, aspect="auto") 
plt.colorbar() 
plt.show() 

其中 “数据” 是一个1000由200阵列。所以此刻,绘图正确创建,x轴显示数组的索引号(0-199)。

但这指数也对应于另一个列表,我有长度200的我想对应于索引的时间显示于x轴的日期(日期[]),而不是索引本身。

我该如何解决这个问题?

回答

1

为了把X-蜱和标签可以使用

plt.xticks(range(200),date) 

但是上面会放太多蜱和标签。如果你想减少蜱的数量,比如5,你可以使用

idx=np.linspace(0,199,5).astype('int') 
plt.xticks(idx,[date[i] for i in idx]) 
+0

完美的工作。非常感谢你的回复! – user1551817 2012-07-25 16:59:23

+0

如果它解决了您的问题,请接受答案。 – imsc 2012-07-26 07:02:56

1

你写了imshow()方法,或者是一个图书馆的一部分? 如果这是你的,只是添加一行发生之日起[X]值每个x。

如果该方法是一个库的一部分,你也许可以欺骗别的东西,但我需要更多地了解它。

+0

我真的不明白它的意思为“写imshow()方法”,所以我想这意味着我没有”写它。但是,是的,你所说的就像我需要做的事情。我需要发布剩余的代码吗?因为我是初学者,所以很杂乱。 – user1551817 2012-07-25 14:49:21

+0

对不起,我的意思是“没有你创建imshow()方法,你自己或者你使用已经存在的一个是”。看起来imsc比我更了解这个,看看他的回答。 – metalcharms 2012-07-25 15:27:49