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()
Draw a terrain with python?