#python #matplotlib
#питон #matplotlib
Вопрос:
Я хотел бы знать, возможно ли наложить несколько изображений друг на друга в 3D-графике. Выход должен выглядеть так:
import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D X, Y = np.meshgrid(np.linspace(0, 1, 100), np.linspace(0, 1, 100)) A1 = np.sin(X) * np.sin(Y) A2 = np.sin(X) * np.cos(Y) A3 = np.sin(10 * X) * np.cos(10 * Y) fig = plt.figure(figsize=plt.figaspect(2) * 1) ax = fig.add_subplot(111, projection='3d') ax.contourf(X, Y, A1, 100, zdir='z', offset=0) ax.contourf(X, Y, A2, 100, zdir='z', offset=0.5) ax.contourf(X, Y, A3, 100, zdir='z', offset=1) ax.set_zlim((0., 1.5)) plt.show()
Но вместо countourf()
этого я хотел бы использовать imshow()
или похожие, чтобы отдельные выходные изображения не интерполировались.
Комментарии:
1. Ответ таков: вовсе нет. К сожалению, Matplotlib (пока) не реализует 3D-версию imshow()