将值映射到Matplotlib中的颜色
为了将值映射到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