python三维曲面合并_matplotlib中的曲面和三维轮廓

我想用matplotlib绘制一个带有彩色地图、线框和等高线的曲面。像这样的:

请注意,我不是询问与xy平行的平面中的轮廓,而是询问图像中的3D和白色的轮廓。

如果我走天真的路,把这些东西都画出来,我就看不到轮廓(见下面的代码和图片)。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")

plt.show()

如果一个增加透明度的表面方面,然后我可以看到轮廓,但它看起来真的杂乱无章(见下面的代码和图像)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, alpha=0.5)

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")

plt.show()

问题:是否有办法在matplotlib中获得此结果?不过,阴影是不必要的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值