У меня есть цилиндр в моей матплотлибе.Я хочу, чтобы можно было помещать небольшие 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()