如何在Matplotlib中显示两个不同颜色的colormap?
要在Matplotlib中显示两个不同颜色的colormap,我们可以采取以下步骤:-
- 设置图形大小并调整子图之间和周围的填充。
-
创建一个5×5维度的2D矩阵。
-
使用正值和负值获得遮罩矩阵 data1 和 data2 。
-
创建一个图和一组子图。
-
显示数据作为图像,即在2D正则光栅上,使用 data1 和 data2 。
-
使用 colorbar 方法来制作两个不同的 color bars 。
-
为两个图像设置颜色条。
-
设置颜色条的标签。
-
使用 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()