如何使用Python创建从绿到红渐变的热图?(Matplotlib)
要在Python中创建从绿到红的热图,我们可以执行以下步骤:
- 设置图形大小并调整子图之间和周围的填充。
- 创建不同颜色的字典。
- 使用 LinearSegmentedColormap 从线性映射段创建色彩映射。
- 创建图形和子图集。
- 创建一个5×5维的随机数据。
- 创建带有非正则矩形网格的伪彩色图。
- 为 ScalarMappable 实例可映射对象创建一个颜色条。
- 使用 show() 方法显示图形。
示例
import matplotlib.pyplot as plt
import matplotlib.colors as colors
import numpy as np
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
cdict = {'red': ((0.0, 0.0, 0.0),
(0.5, 1.0, 1.0),
(1.0, 1.0, 0.7)),
'green': ((0.0, 0.7, 0.7),
(0.5, 1.0, 1.0),
(1.0, 0.0, 0.0)),
'blue': ((0.0, 0.0, 0.0),
(0.5, 1.0, 1.0),
(1.0, 0.0, 0.0))
}
GnRd = colors.LinearSegmentedColormap('GnRd', cdict)
fig, ax = plt.subplots(1)
data = np.random.rand(5, 5)*6.-3.
p = ax.pcolormesh(data, cmap=GnRd, vmin=-5, vmax=5)
fig.colorbar(p, ax=ax)
plt.show()