将两个 Matplotlib imshow 图设置为具有相同的色图比例

matplotlibpythondata visualization更新于 2025/9/12 6:04:17

要将两个 matplotlib imshow() 图设置为具有相同的色图比例,我们可以采取以下步骤

步骤

  • 设置图形大小并调整子图之间和周围的填充。
  • 使用 Numpy 创建 d1 和 d2 矩阵。
  • 获取结果矩阵以获取最大值和最小值。
  • 使用 amin 和 amax 方法获取最小值和最大值。
  • 创建新图形或激活现有图形。
  • 添加 '~.axes.Axes'以子图排列的形式添加到图形中,nrows=1,ncols=2 位于 索引 1
  • 使用 imshow() 方法与 vmin 和 vmax,定义颜色图覆盖的数据范围。
  • 使用数据重复步骤 6 和 7
  • 要显示图形,请使用 show() 方法。

示例

import numpy as np
from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

data1 = np.random.randn(4, 4)
data2 = np.random.randn(4, 4)

resultant = np.array([data1, data2])
min_val, max_val = np.amin(resultant), np.amax(resultant)
fig = plt.figure()

ax = fig.add_subplot(1, 2, 1)
ax.imshow(data1, cmap="plasma", vmin=min_val, vmax=max_val)

ax2 = fig.add_subplot(1, 2, 2)
ax2.imshow(data2, cmap="plasma", vmin=min_val, vmax=max_val)

plt.show()

输出


相关文章


有用资源