Python: 三维表面图的二维透视投影

4

我正在使用matplotlib (Python)制作一个3D表面图。我想在xy、xz和yz平面上可视化3D表面的阴影(2D透视投影)

在MATLAB中,SHADOWPLOT可以完成需要的工作。请问是否有类似的Python库能够做相同的事情?


1
看一下Matplotlib图库中的这个例子:http://matplotlib.org/examples/mplot3d/contourf3d_demo2.html - Rutger Kassies
1个回答

10

示例来源于{这里}:

"""
.. versionadded:: 1.1.0
   This demo depends on new features added to contourf3d.
"""

from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
from matplotlib import cm

fig = plt.figure()
ax = fig.gca(projection='3d')
X, Y, Z = axes3d.get_test_data(0.05)
ax.plot_surface(X, Y, Z, rstride=8, cstride=8, alpha=0.3)
cset = ax.contourf(X, Y, Z, zdir='z', offset=-100, cmap=cm.coolwarm)
cset = ax.contourf(X, Y, Z, zdir='x', offset=-40, cmap=cm.coolwarm)
cset = ax.contourf(X, Y, Z, zdir='y', offset=40, cmap=cm.coolwarm)

ax.set_xlabel('X')
ax.set_xlim(-40, 40)
ax.set_ylabel('Y')
ax.set_ylim(-40, 40)
ax.set_zlabel('Z')
ax.set_zlim(-100, 100)

plt.show()

结果为:

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接