我有一个函数返回区间 [0.0, 1.0] 内的 float 结果。我想使用从红色代表 0.0 到绿色代表 1.0(可能通过黄色代表 0.5)的颜色来可视化结果。我怎么能那样做?谢谢!
最佳答案
我认为最简单的方法是在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可以为您完成此转换。
关于Python:将浮点范围[0.0,1.0]映射到颜色范围[红色,绿色]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6660879/