在2D图上投影3D表面
- 论坛
- 在2D图上投影3D表面
14 浏览
在2D图上投影3D表面
在2D中是否有类似于"Axes3DSubplot.plot_surface"的等价物?
我试图在matplotlib中绘制网格在XY平面上的投影(而不是在'3d'模式下)。
我试图产生与以下代码相似的结果:
ax1.plot_surface(0, y, z, rstride=1, cstride=1, facecolors = colors)
但是在2D子图中我找不到plot_surface的等价物。我唯一能做的就是使用以下代码绘制线框图(但没有面颜色):
ax2.plot(y, z, 'k') ax2.plot(y.T, z.T, 'k')
我无法上传图片,但基本上我想将"colors"放在第二个子图中。
谢谢。
编辑:
@Tim
是的,我想,在这种情况下,我可以使用以下代码实现:
ax2.contourf(y, z, np.hypot(x,y), levels=np.hypot(x,y)[0], cmap=matplotlib.cm.jet)
在更通用的情况下,您需要正确的level函数以及对levels和colormap的微调,但似乎是可行的。
另一种解决方案是使用matplotlib.patches.Polygon来绘制每个投影面。