通过Python创建具有2个平面和颜色贴图的图形

通过Python创建具有2个平面和颜色贴图的图形,python,graph,Python,Graph,我有两个2D阵列,我想用它们生成一个类似于休耕的图像,只是在轴上有不同的限制 以下是我迄今为止的尝试: from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt from matplotlib import cm from matplotlib.ticker import LinearLocator, FormatStrFormatter import numpy as np fig = plt.figure

我有两个2D阵列,我想用它们生成一个类似于休耕的图像,只是在轴上有不同的限制

以下是我迄今为止的尝试:

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

fig = plt.figure()
ax = fig.gca(projection='3d')
ax.set_xlim(-2.01, 2.01)
ax.set_ylim(-2.01, 2.01)
ax.set_zlim(-2.01, 2.01)
cmap = plt.cm.gray
im = ax.imshow(np.asarray(array1), cmap=cmap)
im.remove()
fig.colorbar(im)
plt.show()
我的数组,array1和array2是二维的,大小是n乘n。任何帮助或正确方向上的一点都将不胜感激

在的帮助下,我能够实现以下目标:

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

fig = plt.figure()
ax = fig.gca(projection='3d')
ax.set_xlim(0, 1)
ax.set_ylim(0, 1)
ax.set_zlim(0, 1)

ax.set_xticks([0, 0.2, 0.4, 0.6, 0.8, 1])
ax.set_yticks([0, 0.5, 1])
ax.set_zticks([0, 0.2, 0.4, 0.6, 0.8, 1])
cmap = plt.cm.gray

#plot vertical surface
y = 0.5
xx, zz = np.meshgrid(np.linspace(0,1,10), np.linspace(0,1,10))
p = ax.plot_surface(xx, y, zz, cmap=cmap, alpha=0.5)

x = 0.2
yy, zz = np.meshgrid(np.linspace(0,1,10), np.linspace(0,1,10))
p = ax.plot_surface(x, yy, zz, cmap=cmap, alpha=0.5)

fig.colorbar(p)
plt.show()
请注意,我没有像另一个问题那样使用法线或圆点,因为这里要绘制垂直平面

这是我得到的,我正在做正确的遮挡:


也许我应该作为另一个线程来问这个问题,但是我如何将array1中的数据添加到p=ax.plot_surfacexx,y,zz,cmap=cmap,alpha=0.5?@user906357这应该很有帮助。