如何使用Python在3D图表面上绘制图像文件?
我已经看到了一些将其作为平面绘制的方法,但我希望该图像能够覆盖在绘图表面上。这可能吗?
如何使用Python在3D图表面上绘制图像文件?
我已经看到了一些将其作为平面绘制的方法,但我希望该图像能够覆盖在绘图表面上。这可能吗?
您需要将表面的颜色更改为与@ sarwar建议的示例中的图像颜色相同。
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib.cbook import get_sample_data
from matplotlib._png import read_png
import numpy as np
fn = get_sample_data("lena.png", asfileobj=False)
img = read_png(fn)
x, y = np.mgrid[0:img.shape[0], 0:img.shape[1]]
ax = plt.gca(projection='3d')
ax.plot_surface(x, y, np.sin(0.02*x)*np.sin(0.02*y), rstride=2, cstride=2,
facecolors=img)
plt.show()