在 Matplotlib 中以 3D 形式绘制 imshow() 图像
matplotlibpythondata visualization
要在 Matplotlib 中以 3D 形式绘制 imshow() 图像,我们可以采取以下步骤 −
使用 numpy 创建 xx 和 yy 数据点。
使用 X、Y 和 Z 获取 数据 (2D)。
使用 figure() 方法创建新图形或激活现有图形。
将 'ax1' 作为子图布置的一部分添加到图形中。
将数据显示为图像,即在 2D 常规图像上带有数据的栅格。
将 'ax2' 添加到图形中作为子图排列的一部分。
创建并存储一组轮廓线或填充区域。
要显示图形,请使用 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()