相关疑难解决方法(0)

使用python在3d绘图中叠加图像

我有一个由matplotlib生成的3d线图.我想在特定的xy(或yz,xz)切片上叠加图像.我如何使用python做到这一点?谢谢.

我有一个简单的3d绘图代码:

fig = plt.figure(1),<br>
ax = Axes3D(fig)<br>
ax.plot(f[:,0], f[:,1], f[:,2], color='r')
Run Code Online (Sandbox Code Playgroud)

我还有一个图像"Im"(一个2d数组),所以我需要这样的东西:

ax.overlay(Im, slice='xy', sliceNo=10)
Run Code Online (Sandbox Code Playgroud)

python 3d matplotlib

10
推荐指数
1
解决办法
1万
查看次数

将背景图像添加到3D图

此处已触及该主题,但未提供有关如何创建3D图并将图像以(x,y)指定z高度插入平面的指示。

因此,为了提出一个简单且可复制的案例,假设我使用以下代码创建了一个3D图mplot3d

from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
from matplotlib.ticker import LinearLocator, FormatStrFormatter
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = fig.gca(projection='3d')
X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)
surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.winter,
                       linewidth=0, antialiased=True)
ax.set_zlim(-1.01, 1.01)

ax.zaxis.set_major_locator(LinearLocator(10))
ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))

plt.show()
Run Code Online (Sandbox Code Playgroud)

在视觉上,我们有: 在此处输入图片说明

在级别上z=min(z)-1,这里-1是避免重叠的视觉偏移, …

python 3d image matplotlib mplot3d

3
推荐指数
1
解决办法
2263
查看次数

标签 统计

3d ×2

matplotlib ×2

python ×2

image ×1

mplot3d ×1