【发布时间】:2019-03-04 01:13:34
【问题描述】:
尝试使用 jupyter notebook 创建平面的 3D 曲面图。但是,这段代码给了我一个奇怪的错误:
# 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必须是一个二维数组。重新检查plot_surface example。在你的情况下X,Y = np.meshgrid(x,y); Z = 2*X+3*Y.
标签: python matplotlib jupyter