【发布时间】:2020-11-12 18:30:40
【问题描述】:
假设我有一个由 4 组 4x4 矩阵组成的 4D np.array:
array([[[[1., 1.],
[1., 1.]],
[[2., 2.],
[2., 2.]],
[[3., 3.],
[3., 3.]],
[[4., 4.],
[4., 4.]]],
[[[5., 5.],
[5., 5.]],
[[6., 6.],
[6., 6.]],
[[7., 7.],
[7., 7.]],
[[8., 8.],
[8., 8.]]],
[[[9., 9.],
[9., 9.]],
[[10., 10.],
[10., 10.]],
[[11., 11.],
[11., 11.]],
[[12., 12.],
[12., 12.]]],
[[[13., 13.],
[13., 13.]],
[[14., 14.],
[14., 14.]],
[[15., 15.],
[15., 15.]],
[[16., 16.],
[16., 16.]]]])
现在我想将其重塑为单个矩阵,以便我可以将组按行排列(但只有值,而不是矩阵)。我想使用 matplotlib 的 imshow 函数将 4x4 矩阵彼此相邻绘制在一个图中,所以它应该如下所示:
[[ 1., 1., 2., 2., 3., 3., 4., 4.],
[ 1., 1., 2., 2., 3., 3., 4., 4.],
[ 5., 5., 6., 6., 7., 7., 8., 8.],
[ 5., 5., 6., 6., 7., 7., 8., 8.],
[ 9., 9., 10., 10., 11., 11., 12., 12.],
[ 9., 9., 10., 10., 11., 11., 12., 12.],
[13., 13., 14., 14., 15., 15., 16., 16.],
[13., 13., 14., 14., 15., 15., 16., 16.]]
这甚至可能吗?出于性能原因,我只想使用 numpy 函数并避免使用 for 循环,但如果这不可能,另一种解决方案也会很棒。
【问题讨论】:
标签: python numpy matplotlib