matplotlib:在2d图上投影3d曲面

没有什么

在2D中是否有等效于“ Axes3DSubplot.plot_surface”的文件?我正在尝试在matplotlib中绘制网格在XY平面上的投影(因此不在“ 3d”模式下)。

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# Data (wireframe sphere)
theta, phi = np.meshgrid( np.linspace(0, np.pi/2, 10), np.linspace(0, np.pi/2, 10) )

x = np.sin(theta) * np.cos(phi)
y = np.sin(theta) * np.sin(phi)
z = np.cos(theta)


fig = plt.figure()

# Subplot 3D
ax1 = fig.add_subplot(1, 2, 1, projection='3d', aspect='equal')

colors = matplotlib.cm.jet(np.hypot(x,y))

surface = ax1.plot_surface(x, y, z, rstride=1, cstride=1, facecolors = colors, alpha=0.5 )
projection = ax1.plot_surface(0, y, z, rstride=1, cstride=1, facecolors = colors )
projection.set_edgecolor('k')

# Subplot 2D
ax2 = fig.add_subplot(1, 2, 2, aspect='equal')

ax2.plot(y, z, 'k')
ax2.plot(y.T, z.T, 'k')

我正在尝试产生类似于以下结果:

ax1.plot_surface(0, y, z, rstride=1, cstride=1, facecolors = colors )

但是在2D子图中。我在AxesSubplot的文档中找不到plot_surface的等效项。我唯一要做的是使用以下方式绘制线框(但不是面部颜色):

ax2.plot(y, z, 'k')
ax2.plot(y.T, z.T, 'k')

我无法上传图像,但是基本上,我想将“颜色”放在第二个子图中。谢谢,

编辑:@Tim是的,我想在这种情况下,我设法做到了:

ax2.contourf(y, z, np.hypot(x,y), levels=np.hypot(x,y)[0], cmap=matplotlib.cm.jet)

在更一般的情况下,您将需要正确的色阶功能以及对色阶和色彩图的一些调整,但这似乎是可行的。

另一个解决方案是使用matplotlib.patches.Polygon绘制每个投影面。

B队

您可以contourf用来生成彩色2D轮廓:

# Subplot 2D
ax2 = fig.add_subplot(1, 2, 2, aspect='equal')
ax2.contourf(x, y, z, facecolors=colors)

尽管这似乎并不是您真正需要的,但这是朝着正确方向迈出的一步。

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过在2D曲面中投影来分析3D点云

来自分类Dev

将3D曲面(由plot_trisurf生成)投影到xy平面并以2D绘制轮廓

来自分类Dev

Matplotlib分离3D数据的2D等高线投影图

来自分类Dev

如何确定matplotlib轴对象的投影(2D或3D)?

来自分类Dev

Matplotlib中2d切片的3d图上函数下方的填充区域

来自分类Dev

Matplotlib中2d切片的3d图上函数下方的填充区域

来自分类Dev

最快的3D到2D投影

来自分类Dev

最快的3D到2D投影

来自分类Dev

有没有办法使用 scatter3 在 3D 点云散点图上显示 2D 投影?

来自分类Dev

Python 2D绘图为3D(Matplotlib)

来自分类Dev

Python Plotly:在3D曲面上的X,Y网格轮廓投影

来自分类Dev

3D 网格:如何检测曲面/网格是否根据投影平面折叠

来自分类Dev

用Python在3D中从2D曲面进行点的Delaunay三角剖分?

来自分类Dev

Kinect:从2D到3D取消投影深度数据

来自分类Dev

python:3D表面图的2D透视投影

来自分类Dev

最适合2d /投影3d JS矢量动画的技术/库?

来自分类Dev

将3D点投影到2D屏幕坐标

来自分类Dev

将3D点投影到2D屏幕坐标

来自分类Dev

python:3D表面图的2D透视投影

来自分类Dev

最适合2d /投影3d JS矢量动画的技术/库?

来自分类Dev

迭代非线性最小二乘优化3d到2d投影

来自分类Dev

将 3D 模型投影到 2d 平面上

来自分类Dev

如何使用 OpenCV 将点从 2D 投影到 3D?

来自分类Dev

在2D图上绘制3D点从文件中读取值

来自分类Dev

3D Matplotlib图形中图像投影的控制角度

来自分类Dev

在MATLAB中细分3D曲面

来自分类Dev

如何绘制3D曲面?

来自分类Dev

在Matlab中绘制3D曲面

来自分类Dev

在MATLAB中细分3D曲面