0

我有制作二维数组图的代码。沿着 x 轴只是我的数组的索引,但我希望 x 轴显示索引所代表的值。

相关代码:

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

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

但是这个索引也对应于另一个列表中的一个日期,我有长度为 200 的 (date[])。我希望与索引对应的日期显示在 x 轴上,而不是索引本身。

我怎样才能解决这个问题?

4

2 回答 2

2

要放置 x-ticks 和您可以使用的标签

plt.xticks(range(200),date)

但是上面会放太多的刻度和标签。如果您想将刻度数减少到 5,您可以使用

idx=np.linspace(0,199,5).astype('int')
plt.xticks(idx,[date[i] for i in idx])
于 2012-07-25T15:14:47.843 回答
1

您是否编写了 imshow() 方法,或者是库的一部分?如果是你的,只需添加一行,为每个 x 获取 date[x] 值。

如果该方法是库的一部分,您也许可以解决其他问题,尽管我需要了解更多信息。

于 2012-07-25T14:37:10.503 回答