Помогите добить скрипт, который должен зачитать из файла координаты площадок 3Д-поверхности и отобразить их. Проблема в том, что не могу придумать как сохранить координаты z (из файла были считаны) в двумерный массив Z. Сейчас в скрипте Z заполнен руками, а нужно в нем были координаты из файла.
$ cat data.txt
0 1 2
1 0 2
0 -1 2
-1 0 2
$ cat my_figure.py
#!/usr/bin/python
import pylab
from mpl_toolkits.mplot3d import Axes3D
from numpy import *
import numpy
x,y,z = loadtxt('data.txt', usecols=[0,1,2], unpack=True)
print "data from data.txt = ", x,y,z
X, Y = numpy.meshgrid(x,y)
print "X=", X
print "Y=", Y
Z = numpy.array([ [2.1, 2., 2., 2.], [2., 2., 2., 2.], [2., 2., 2., 2.], [2., 2. ,2., 2.] ])
print "Z=", Z
fig = pylab.figure()
axes = Axes3D(fig)
axes.plot_surface(X, Y, Z)
pylab.show()
$ ./my_figure.py
data from data.txt = [ 0. 1. 0. -1.] [ 1. 0. -1. 0.] [ 2. 2. 2. 2.]
X= [[ 0. 1. 0. -1.]
[ 0. 1. 0. -1.]
[ 0. 1. 0. -1.]
[ 0. 1. 0. -1.]]
Y= [[ 1. 1. 1. 1.]
[ 0. 0. 0. 0.]
[-1. -1. -1. -1.]
[ 0. 0. 0. 0.]]
Z= [[ 2.1 2. 2. 2. ]
[ 2. 2. 2. 2. ]
[ 2. 2. 2. 2. ]
[ 2. 2. 2. 2. ]]