Построение данных о местности с помощью matplotlib plot_surface - PullRequest
4 голосов
/ 20 декабря 2010

Я пытаюсь построить данные о высоте местности с помощью matplotlib.Я создаю массив nx3, в котором каждая строка содержит координаты x, y, z моих точек (они регулярно располагаются в сетке на плоскости x, y).Я пытаюсь построить его с помощью этого кода:

fig = plt.figure()

ax = fig.gca(projection='3d')

print desiredData[:,0]

surf = ax.plot_surface(desiredData[:,0], desiredData[:,1],
                       desiredData[:,2], rstride =1,
                       cstride = 1, cmap=cm.jet,
                       linewidth = 0, antialiased = False)

plt.show()

, но получаю эту ошибку:

Traceback (most recent call last):
   File "gisConvert.py", line 203, in <module>
linewidth = 0, antialiased = False)
File "C:\Python27\lib\site-packages\mpl_toolkits\mplot3d\axes3d.py", line 663,
in plot_surface
rows, cols = Z.shape
ValueError: need more than 1 value to unpack

Что я делаю не так?

1 Ответ

4 голосов
/ 20 декабря 2010

Как показывает ошибка,

ValueError: need more than 1 value to unpack

Вы используете одномерный массив, но plot_surface ожидает двумерные массивы для X, Y и Z.

И вот почему вы получаете ValueError.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...