0

我认为我在做一些愚蠢的事情,但我就是看不到它。

在 Python 中,我有一个 imshow 图,我想更改 x 轴上的值。

plt.xticks=(np.arange(grid_resid.shape[1]),xp)
plt.imshow(grid_resid[:,:], aspect="auto")
plt.show()

grid_resid.shape[1] 为 1830 (0 - 1829),绘图上的默认 x 轴范围为 0 - 1829。

我想将 xticks 更改为列表“xp”的值。看起来像:

[ 53293.103161  53294.103161  53295.103161 ...,  55120.103161  55121.103161  55122.103161]

它也有 1830 个组件。

然而,我的 xticks 仍在从 0-1829 运行。有人可以指出这是为什么吗?

4

1 回答 1

1

xticks 是一个函数,而不是变量,因此您不想分配给它。此外,您需要在imshow之后运行它:

plt.imshow(grid_resid[:,:], aspect="auto")
plt.xticks(np.arange(grid_resid.shape[1]),xp)
plt.show()

请注意,由于您的标签看起来很长,您可能需要使用 xticks 的 rotation= 参数来旋转标签。

于 2013-06-07T21:49:55.457 回答