用python绘制地形?

时间:2013-04-27 11:19:49

标签: python numpy 3d plot rendering

我有一个numpy二维数组,表示将构建一条街道的特定区域的几何高度。我可以使用scipy.misc.toimage将其可视化。但是,我想获得该区域的简单3D视图。有没有一种简单的方法可以将这些数据绘制或渲染为三维图像?

1 个答案:

答案 0 :(得分:9)

也许使用matplotlib的plot_surfaceplot_wireframe

import matplotlib.pyplot as plt
import numpy as np
import mpl_toolkits.mplot3d.axes3d as axes3d

np.random.seed(1)
fig, ax = plt.subplots(subplot_kw=dict(projection='3d'))
N = 100
X, Y = np.meshgrid(np.arange(N), np.arange(N))
heights = np.sin(2*np.pi*np.sqrt(X**2+Y**2)/N)
ax.plot_surface(X, Y, heights, cmap=plt.get_cmap('jet'))
plt.show()

enter image description here

这些功能需要三个2D阵列:X,Y,Z。 你有高度Z。要生成与X相关联的标准YZ位置,您可以使用np.meshgrid