是否可以在Python中绘制这样的2D和3D等高线图。
对不起,我不能提供太多细节的情节方面的数学方程和所有。
rsaldnfx1#
使用plot_surface沿着contour投影轮廓。它不限于Z平面;也可以对X和Y平面执行此操作。在Matplotlib的官方文档中有一个例子: www.example.com请注意,将轮廓移动到3D图的底部需要偏移。可以将偏移设置为等于y限制的下限。我创建了一个示例:
plot_surface
contour
import matplotlib.pyplot as plt import numpy as np x = y = np.arange(-3.0, 3.0, 0.02) X, Y = np.meshgrid(x, y) Z1 = np.exp(-X ** 2 - Y ** 2) Z2 = np.exp(-(X - 1) ** 2 - (Y - 1) ** 2) Z3 = np.exp(-(X + 1) ** 2 - (Y + 1) ** 2) Z = (Z1 - Z2 - Z3) * 2 fig, ax = plt.subplots(subplot_kw={"projection": "3d"}) # draw surface plot surf = ax.plot_surface(X, Y, Z, lw=0.1, cmap='coolwarm', edgecolor='k') # add color bar fig.colorbar(surf, shrink=0.5, aspect=10) # projecting the contour with an offset ax.contour(X, Y, Z, 20, zdir='z', offset=-2, cmap='coolwarm') # match the lower bound of zlim to the offset ax.set(zlim=(-2, 1)) plt.tight_layout() plt.show()
1条答案
按热度按时间rsaldnfx1#
使用
plot_surface
沿着contour
投影轮廓。它不限于Z平面;也可以对X和Y平面执行此操作。在Matplotlib的官方文档中有一个例子: www.example.com
请注意,将轮廓移动到3D图的底部需要偏移。可以将偏移设置为等于y限制的下限。
我创建了一个示例: