我正在尝试在用户指定的 ginput() 点上绘制峰值(3D 地形峰值)。这些峰必须采用 3D 曲面图的形式,如此链接3D 曲面图峰上的示例图像所示。到目前为止,我已经设法从 ginput() 函数中获取点并将它们分成两个不同的数组一个与 x 坐标另一个与 y 坐标。如何使用余弦波在这些点上绘制这些峰值?
我还是 python 新手,所以我写了几行我想要实现的伪代码,以便尝试让我的问题更加清晰。
import sys, numpy as np, matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d
pts = []
fig = plt.figure()
ax = fig.gca(projection='3d')
Npeaks = input(' Enter your number of peaks here..')
pts = plt.ginput(Npeaks)
x=map(lambda x: x[0],pts) # creating an array with x coordinates
y=map(lambda x: x[1],pts) # creating an array with y coordinates
我试图实现的代码的伪代码
if number_of_peaks > 0 :
ax.plot_surface( plot a peak at those points )
else:
sys.exit()
ax.set_xlabel('X')
ax.set_xlim(value , value )
ax.set_ylabel('Y')
ax.set_ylim( value , value )
ax.set_zlabel('Z')
ax.set_zlim( value , value )
plt.show()