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()
But I get this error:
Traceback (most recent call last):
File "gisConvert.py", line 203, in
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
What am I doing wrong?
< pre>ValueError: need more than 1 value to unpack
You are using a 1D array, but plot_surface requires a 2D array of X, Y and Z.
This is where you get ValueError Reason.
I am trying to plot terrain elevation data using matplotlib. I have built an nx3 numpy array, each row contains the x, y, z coordinates of my point (they It is regularly spaced in the grid on the x and y plane). I tried to draw it with this code:
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()
But I get this error:
Traceback (most recent call last):
File "gisConvert.py", line 203, in
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
What am I doing wrong?
As the error shows,
ValueError: need more than 1 value to unpack< /pre>You are using a 1D array, but plot_surface requires a 2D array of X, Y, and Z.
This is why you get ValueError.