在 Matplotlib 中将值映射到颜色

matplotlibpythondata visualization

要在 matplotlib 中将值映射到颜色元组(红色、绿色和蓝色),我们可以采取以下步骤 −

  • 创建一个从 1.00 到 2.00 的值列表,计数=10。

  • 将线性归一化的数据放入 vmin 和 vmax 间隔中。

  • 获取一个对象以将标量数据映射到 rgba。

  • 迭代值以映射颜色值。

  • 根据映射的红色、绿色和蓝色值打印值。

示例

import numpy as np
from matplotlib import cm, colors
values = np.linspace(1.0, 2.0, 10)
norm = colors.Normalize(vmin=1.0, vmax=2.0, clip=True)
mapper = cm.ScalarMappable(norm=norm, cmap=cm.Greys_r)
for value in values:
   print("%.2f" % value, "=",
      "red:%.2f" % mapper.to_rgba(value)[0],
      "green:%.2f" % mapper.to_rgba(value)[1],
      "blue:%.2f" % mapper.to_rgba(value)[2])

输出

1.00 = red:0.00 green:0.00 blue:0.00
1.11 = red:0.13 green:0.13 blue:0.13
1.22 = red:0.28 green:0.28 blue:0.28
1.33 = red:0.41 green:0.41 blue:0.41
1.44 = red:0.53 green:0.53 blue:0.53
1.56 = red:0.66 green:0.66 blue:0.66
1.67 = red:0.78 green:0.78 blue:0.78
1.78 = red:0.87 green:0.87 blue:0.87
1.89 = red:0.95 green:0.95 blue:0.95
2.00 = red:1.00 green:1.00 blue:1.00

相关文章