【发布时间】:2021-08-21 01:34:38
【问题描述】:
x = np.array[[[8, 7, 1, 0, 3],
[2, 8, 5, 5, 2],
[1, 1, 1, 1, 1]],
[[8, 4, 1, 0, 0],
[6, 8, 5, 5, 2],
[1, 1, 1, 1, 1]],
[[2, 4, 0, 2, 3],
[2, 5, 5, 3, 2],
[1, 1, 1, 1, 1]],
[[4, 7, 2, 8, 0],
[1, 3, 6, 5, 2],
[1, 1, 1, 1, 1]]]
我有一个名为 x 的 NumPy 数组,我想绘制它。这里每 5 列数据代表 1 秒。所以我的数组是 5*4=20 秒的数据。我希望这个数组(我将使用plt.imshow 命令绘制)通过每秒添加到它旁边来增加它。也就是说,只有
[8, 7, 1, 0, 3],
[2, 8, 5, 5, 2],
[1, 1, 1, 1, 1]]
会在第一秒绘制,然后
[[8, 7, 1, 0, 3, 8, 4, 1, 0, 0],
[2, 8, 5, 5, 2, 6, 8, 5, 5, 2],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]
将在第二秒内绘制,以此类推最多 4 秒。
但在此之前,我们需要看到我们的数组每秒递增一次。 您可以在下面找到我想要的图像。
但是这里有一个非常重要的问题。我现实生活中的阵列要大得多。因此,当我想使用np.concatenate、np.append 或indexing 将我拥有的 3D 数组转换为 2D 时,我的计算机因为数组太大而崩溃。有什么方法可以使用 matplotlib 库而不将其转换为 2D 吗?我认为可以使用 for 循环来完成,但这里的问题是,在我在互联网上看到的示例中,它们完全刷新了图像,而不是将其附加到另一个旁边。
【问题讨论】:
标签: python python-3.x numpy matplotlib multidimensional-array