如何在同一个 imshow Matplotlib 中显示两种不同颜色的调色板?
要在同一 imshow matplotlib 中显示两种不同颜色的调色板,我们可以采取以下步骤 −
设置图形大小并调整子图之间及周围的间距。
创建一个 5×5 维度的 2D 矩阵。
获取带正值和负值的掩码矩阵 data1 和 data2。
创建一个图形和一组子图。
将数据显示为图像,即在 2D 规则光栅上使用 data1 和 data2。
若要制作两个不同的 颜色条,请使用 colorbar 方法。
设置这两个图像的 colorbar。
设置 colorbar 的标签。
若要显示图形,请使用 show() 方法。
示例
import matplotlib.pyplot as plt import numpy as np plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True img = np.random.randint(-10, 10, (5, 5)) data1 = np.ma.masked_array(img, img >= 0) data2 = np.ma.masked_array(img, img < 0) fig, ax = plt.subplots() img1 = ax.imshow(data1, cmap="prism_r") img2 = ax.imshow(data2, cmap="copper") bar1 = plt.colorbar(img1) bar2 = plt.colorbar(img2) bar1.set_label('ColorBar 1') bar2.set_label('ColorBar 2') plt.show()
输出
广告