Python matplotlib三维曲面图

Python matplotlib三维曲面图,python,matplotlib,jupyter,Python,Matplotlib,Jupyter,尝试使用jupyter笔记本创建平面的三维曲面图。但是,这段代码给了我一个奇怪的错误: # ValueError: Argument Z must be 2-dimensional. %matplotlib from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np fig = plt.figure() plt.clf() ax = Axes3D(fig) x=np.a

尝试使用jupyter笔记本创建平面的三维曲面图。但是,这段代码给了我一个奇怪的错误:

# ValueError: Argument Z must be 2-dimensional.

%matplotlib
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
plt.clf()
ax = Axes3D(fig)

x=np.arange(-4,4,1)
y=np.arange(-4,4,1)

X = []
Y = []
Z = []

for ix in range(0, len(x)):
    for iy in range(0, len(y)):
        z = 2*x[ix] + 3*y[iy]
        Z.append(z)
        X.append(x[ix])
        Y.append(y[iy])

ax.plot_surface(X, Y, Z)

plt.show()

您得到的错误是什么?你从哪里得到的错误?请发布Stacktrace和您遇到的问题的具体细节,这样我们可以更好地帮助您。这一点也不奇怪,您可以照字面理解:
Z
必须是2D数组。再检查一下。在您的例子中,
X,Y=np.meshgrid(X,Y);Z=2*X+3*Y
%matplotlib inline
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np

X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)

def plot():
    fig = plt.figure()
    ax = Axes3D(fig)
    #ax = fig.gca(projection='3d')
    ax.plot_surface(X, Y, Z)
    plt.show()

Z = 2*X + 3*Y
plot()