使用Matplotlib根据来自ginput的点绘制3D表面图

时间:2016-06-27 02:18:03

标签: python numpy matplotlib ginput

我正在尝试在用户指定的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()    

0 个答案:

没有答案