【发布时间】:2016-08-12 21:37:17
【问题描述】:
我想绘制一个 2D 图形,它是 4D 阵列的平面切割。 例如:
In[1]:
x = [0, 1, 2]
y = [3, 4, 5]
z = [6, 7, 8]
f = [9, 10, 11]
X, Y, Z, F = meshgrid(x, y, z, f) #create 4D grid
Out[1]:
array([[[[0, 0, 0],
[0, 0, 0],
[0, 0, 0]],
[[1, 1, 1],
[1, 1, 1],
[1, 1, 1]],
[[2, 2, 2],
[2, 2, 2],
[2, 2, 2]]],
[[[0, 0, 0],
[0, 0, 0],
[0, 0, 0]],
[[1, 1, 1],
[1, 1, 1],
[1, 1, 1]],
[[2, 2, 2],
[2, 2, 2],
[2, 2, 2]]],
[[[0, 0, 0],
[0, 0, 0],
[0, 0, 0]],
[[1, 1, 1],
[1, 1, 1],
[1, 1, 1]],
[[2, 2, 2],
[2, 2, 2],
[2, 2, 2]]]])
In[2]:
A = X + 1j*Y + Z + 1j* F
Out[2]:
array([[[[ 6.+12.j, 6.+13.j, 6.+14.j],
[ 7.+12.j, 7.+13.j, 7.+14.j],
[ 8.+12.j, 8.+13.j, 8.+14.j]],
[[ 7.+12.j, 7.+13.j, 7.+14.j],
[ 8.+12.j, 8.+13.j, 8.+14.j],
[ 9.+12.j, 9.+13.j, 9.+14.j]],
[[ 8.+12.j, 8.+13.j, 8.+14.j],
[ 9.+12.j, 9.+13.j, 9.+14.j],
[ 10.+12.j, 10.+13.j, 10.+14.j]]],
[[[ 6.+13.j, 6.+14.j, 6.+15.j],
[ 7.+13.j, 7.+14.j, 7.+15.j],
[ 8.+13.j, 8.+14.j, 8.+15.j]],
[[ 7.+13.j, 7.+14.j, 7.+15.j],
[ 8.+13.j, 8.+14.j, 8.+15.j],
[ 9.+13.j, 9.+14.j, 9.+15.j]],
[[ 8.+13.j, 8.+14.j, 8.+15.j],
[ 9.+13.j, 9.+14.j, 9.+15.j],
[ 10.+13.j, 10.+14.j, 10.+15.j]]],
[[[ 6.+14.j, 6.+15.j, 6.+16.j],
[ 7.+14.j, 7.+15.j, 7.+16.j],
[ 8.+14.j, 8.+15.j, 8.+16.j]],
[[ 7.+14.j, 7.+15.j, 7.+16.j],
[ 8.+14.j, 8.+15.j, 8.+16.j],
[ 9.+14.j, 9.+15.j, 9.+16.j]],
[[ 8.+14.j, 8.+15.j, 8.+16.j],
[ 9.+14.j, 9.+15.j, 9.+16.j],
[ 10.+14.j, 10.+15.j, 10.+16.j]]]])
现在A的形状是
(3, 3, 3, 3)
现在我的问题是如何从这个 4D 数组(Y=0 和 F = 0)绘制 2D 图形,这是从 4D 图形绘制平面切割的正确方法吗?
【问题讨论】:
标签: python arrays multidimensional-array plot slice