我有一个函数在区间[0.0,1.0]中返回float结果。我想使用从红色为0.0到绿色为1.0(可能通过黄色为0.5)的颜色可视化结果。我怎么能这样做?谢谢!
答案 0 :(得分:3)
我认为最简单的方法是使用HSL/HSB(色调饱和度亮度),其中色调值为最大值的0-33%将映射到红色 - 橙色 - 黄色 - 绿色范围。工作的优点是HSL(相对于RGB)是得到的颜色范围会更好看(例如RGB中的亮黄色包含一撮蓝色)。
所以基本上你会根据常数S和L值以及与
对应的H创建一个值your_value * (1/3 of the maximum H value, often 255)
然后将该值转换回RGB以进行显示。不知道Python(对我很羞耻),但显然colorsys module可以为你做这个转换。
答案 1 :(得分:2)
假设你有办法在0..1的范围内呈现表示为3元组(R,G,B)的RGB值,听起来你想要从:(1,0,0)到:(0,1,0)。
您可以使用:rgbs = [(1-i,i,0) for i in your_floats]
然后使用任何图形库将这些3元组可视化为实际的RGB颜色。