我正在尝试在用户指定的ginput()点上绘制峰(3D地形峰)。这些峰值必须采用3D曲面图的形式,如此链接3D surface plot peaks上的示例图像所示。到目前为止,我已设法从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()