将两个Matplotlib imshow绘图设置为具有相同的颜色映射比例尺
要设置两个Matplotlib imshow()绘图具有相同的颜色映射比例尺,我们可以执行以下步骤
步骤
- 设置图形大小并调整子图之间和周围的填充。
- 使用Numpy创建d1和d2矩阵。
- 获取结果矩阵以获取最大值和最小值。
- 使用amin和amax方法获取最小值和最大值。
- 创建一个新图形或激活现有图形。
- 将“~.axes.Axes”添加到图形作为子图安排的一部分,在 索引1 处,并具有 nrows=1,ncols=2 。
- 使用 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()