如何在 Python 中创建一个从绿色到红色范围的热图?(Matplotlib)


若要在 Python 中创建一个从绿色到红色范围的热图,我们可以采取以下步骤 -

  • 设置图形大小并调整子图之间及周围的填充。
  • 为不同的颜色制作字典。
  • 使用 LinearSegmentedColormap 从线性映射片段中创建一个颜色图。
  • 创建一个图形和一组子图。
  • 创建具有 5☓5 维度的随机数据。
  • 创建一个具有不规则矩形网格的伪彩图。
  • ScalarMappable 实例 *mappable* 创建一个颜色条。
  • 要显示图形,请使用 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()

输出

更新于: 07-07-2021

1K+ 浏览量

开启您的职业生涯

完成课程以获得认证

开始学习
广告