设置两个 Matplotlib imshow 绘图以具有相同的颜色映射比例


若要设置两个 matplotlib imshow() 绘图以具有相同的颜色映射比例,我们可以执行以下

步骤

  • 设置图形大小并调整子图之间和周围的填充。
  • 使用 Numpy 创建 d1 和 d2 矩阵。
  • 获取结果矩阵以获取最大值和最小值。
  • 使用 amin 和 amax 方法获取最小值和最大值。
  • 创建一个新图形或激活现有图形。
  • 索引 1 处以 nrows=1, ncols=2 作为子图配置的一部分,将 '~.axes.Axes' 添加到图形中
  • 使用带有 vmin 和 vmax 的 imshow() 方法定义颜色映射覆盖的数据范围。
  • 使用 data 重复步骤 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()

输出

更新于: 04-Aug-2021

2K+ 浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.