在Matplotlib中绘制3D imshow()图片
要在Matplotlib中绘制3D imshow()图片,可以按照以下步骤进行操作−
- 使用numpy创建 xx 和 yy 数据点。
-
使用 X,Y 和 Z 获取 数据(2D) 。
-
使用 figure() 方法创建一个新图或激活现有图。
-
将 “ax1” 添加到图表中,作为一个subplot布局的一部分。
-
将数据显示为图像,即在具有数据的2D常规光栅上显示。
-
将 “ax2” 添加到图中,作为subplot布局的一部分。
-
创建并存储一组轮廓线或填充区域。
-
使用 show() 方法显示图像。
示例
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import cm
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
xx, yy = np.meshgrid(np.linspace(0, 1, 10), np.linspace(0, 1, 10))
X = xx
Y = yy
Z = 10 * np.ones(X.shape)
data = np.cos(xx) * np.cos(xx) + np.sin(yy) * np.sin(yy)
fig = plt.figure()
ax1 = fig.add_subplot(121)
ax1.imshow(data, cmap="plasma", interpolation='nearest', origin='lower', extent=[0, 1, 0, 1])
ax2 = fig.add_subplot(122, projection='3d')
ax2.contourf(X, Y, data, 100, zdir='z', offset=0.5, cmap="plasma")
plt.show()