如何在同一个 imshow Matplotlib 中显示两个不同颜色的色图?
matplotlibpythondata visualization更新于 2025/6/6 18:20:17
要在同一个 imshow matplotlib 中显示两个不同颜色的色图,我们可以采取以下步骤 −
设置图形大小并调整子图之间和周围的填充。
制作一个 5×5 维的 2D 矩阵。
获取带有正值和负值的掩码矩阵 data1 和 data2。
创建一个图形和一组子图。
将数据显示为图像,即在 2D 常规栅格上,使用 data1 和 data2。
要制作两个不同的颜色条,使用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()
输出

相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

