Python中想要使用matplotlib使用颜色图,线框和轮廓绘制表面。 像这样:
请注意,不是与xy平行的平面中的contour,而是关于图像中3D和白色的contour。
如果用幼稚的方法绘制所有这些东西,我将不到轮廓(参见下面的代码和图像)。
如果在表面添加透明度,我可以看到contour但它看起来真的很混乱(参见下面的代码和图像)
import numpy as np
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111, projection="3d")
X, Y = np.mgrid[-1:1:30j, -1:1:30j]
Z = np.sin(np.pi*X)*np.sin(np.pi*Y)
ax.plot_surface(X, Y, Z, cmap="autumn_r", lw=0.5, rstride=1, cstride=1)
ax.contour(X, Y, Z, 10, lw=3, cmap="autumn_r", linestyles="solid", offset=-1)
ax.contour(X, Y, Z, 10, lw=3, colors="k", linestyles="solid")
p