>>> M = NP.empty((5, 5), dtype=NP.object) # a 2D NumPy array
>>> M
array([[None, None, None, None, None],
[None, None, None, None, None],
[None, None, None, None, None],
[None, None, None, None, None],
[None, None, None, None, None]], dtype=object)
现在您可以插入序列,而不会收到ValueError
>>> M[2,2] = NP.array([4, 3, 5])
>>> M
array([[None, None, None, None, None],
[None, None, None, None, None],
[None, None, [4 3 5], None, None],
[None, None, None, None, None],
[None, None, None, None, None]], dtype=object)
>>> M[2,2]
array([4, 3, 5])
OP 的另一部分——将这样的数组传递给 Matplotlib 的imshow是一个问题。
imshow 在视觉上将 2D 数组表示为根据 x、y 索引定位在画布上的点云。基于将颜色映射到数组值的颜色图,根据不同的颜色和颜色强度指示该索引处的值。因此, imshow 的data 参数的有效参数是:
两个更高维度的 NumPy 数组(并且只有这两个 AFAIK),imshow 可以解释为
rgb 元组(x,y,r,b,g)的 NumPy 2D 数组
NumPy 6D 数组,被解释为rgba 元组(x, y, r, g, b, a)的 2D 数组