Как построить изображение в 3D графике Matplotlib - PullRequest
1 голос
/ 08 марта 2019

У меня есть цилиндр в моей матплотлибе.Я хочу, чтобы можно было помещать небольшие 2-мерные изображения лопастей для смешивания внутри.Они могут остаться в 2d, но график и цилиндр - 3d.Как мне это сделать?Кажется, я ничего не могу найти в Интернете по этому поводу.Код ниже:

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

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

# Scatter graph
N = 100
X = np.random.uniform(-1, 1, N)
Y = np.random.uniform(-1, 1, N)
Z = np.random.uniform(-2, 2, N)
ax.scatter(X, Y, Z)

# Cylinder
x=np.linspace(-1, 1, 100)
z=np.linspace(-2, 2, 100)
Xc, Zc=np.meshgrid(x, z)
Yc = np.sqrt(1-Xc**2)

# Draw parameters
rstride = 20
cstride = 10
ax.plot_surface(Xc, Yc, Zc, alpha=0.2, rstride=rstride, cstride=cstride)
ax.plot_surface(Xc, -Yc, Zc, alpha=0.2, rstride=rstride, cstride=cstride)


image_name='download.jpeg'
im_data = img.imread(image_name)
print(im_data)
print(np.shape(im_data))
cmap = 'jet'
ax.imshow(im_data, interpolation='nearest')




ax.set_xlabel("X")
ax.set_ylabel("Y")
ax.set_zlabel("Z")
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...