0
我正在尝试使用Axes3D
模块中的plot_wireframe
来绘制线框。我的数据集:三个2D阵列:使用np.arange
然后np.meshgrid
创建两个阵列。第三个是包含函数“f2”(f2 = f(x,y))的结果的数组。我预计3D绘图,但结果是3D空间中的2D绘图。现在我做了一些代码,看起来像mpl文档的一部分,但仍然不起作用。代码:matplotlib 1.5中的线框无法正确绘图
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
def f2(x, y):
'''Return f(x, y) = exp(-(x * x + y * y)) * sin(-5. * (x * x + y * y))'''
return np.exp(-(x**2 + y**2)) * np.sin(-5.0 * (x**2 + y**2))
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
x2 = np.arange(-1.5, 1.5, 0.02)
y2 = np.arange(1.5, -1.5, -0.02)
X, Y = np.meshgrid(x2, y2)
z2 = f2(X, Y)
ax.plot_wireframe(X, X, z2, rstride=10, cstride=10, linewidth=0.1,
label='$\exp(-(x^2 + y^2)){sin}(-5.0(x^2 + y^2)$')
plt.show()
这就是我想要的: Beautiful 3D plot 但现实是残酷的: "A plot I've got"
我不知道我做错了。这是矢量值问题吗?