我想在 X、Y 和 Z 轴上为这 100 个点制作一个 3D 图。我已经生成了所有 3 个轴都需要的列表。我认为这应该足以在 3D 中绘制一组点。但是我不明白输出。我感谢在这方面的任何帮助。
################################################################
# problem : f(x) = (e**(-(y**2)))*cos(3*x)+(e**(x**2))*cos(3*y)
################################################################
from mpl_toolkits.mplot3d import Axes3D
import math
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax=Axes3D(fig)
x = np.arange(-5,5,1)
y = np.arange(-5,5,1)
X = []
Y = []
Z=[]
for i in range(len(x)):
for j in range(len(y)):
z=(np.exp(-(y[j]**2))*np.cos(3*x[i]))+(np.exp(x[i]**2)*np.cos(3*y[j]))
Z.append(z)
X.append(x[i])
Y.append(y[j])
ax.plot(X,Y,Z,'o')
plt.show()
编辑/更新:我不确定我的问题是代码本身还是我理解 3Dplots 的方式,我应该使用 meshgrids 来获得我期望的情节吗?