我试图用python创建一个山的表面图,我有一些xyz数据。最终结果应该类似于that。文件格式如下:
616000.0 90500.0 3096.712
616000.0 90525.0 3123.415
616000.0 90550.0 3158.902
616000.0 90575.0 3182.109
616000.0 90600.0 3192.991
616025.0 90500.0 3082.684
616025.0 90525.0 3116.597
616025.0 90550.0 3149.812
616025.0 90575.0 3177.607
616025.0 90600.0 3191.986
等等。第一列表示x
坐标,中间一列表示y
坐标,z
属于xy坐标的高度。在
我使用pandas
读入数据,然后将列转换为单个的x
、y
、z
NumPy
1D数组。到目前为止,我成功地创建了一个简单的3D散点图,其中一个for
循环遍历每个1D数组的每个索引,但这需要很长时间,而且看起来效率很低。在
我尝试过使用scipy.interpolate.griddata
和plt.plot_surface
,但是对于z
数据,我总是会得到一个错误,即数据应该在二维数组中,但我无法弄清楚为什么它应该是2D数据。假设我有xyz数据,应该有一种方法可以简单地从它创建一个曲面。有简单的方法吗?在
使用来自} 和^{} ,给定的
matplotlib
的函数^{X Y Z
数据可以类似于given plot绘制。在在这里
X Y Z
数据的文件作为上述脚本的参数提供plot_trisurf
中,用于控制外观的参数。e、 g.alpha
用于控制表面不透明度scatter
中,c
参数指定绘制在曲面上的点的颜色对于给定的数据文件,将生成以下绘图
注意:在这里,地形是由给定的一组三维点的三角剖分形成的。所以,在绘图中沿曲面的等高线并没有和X轴和Y轴对齐
有一个更简单的方法来实现你的目标,不使用熊猫。在
相关问题 更多 >
编程相关推荐