【发布时间】:2011-07-12 07:34:53
【问题描述】:
我有一个函数返回区间 [0.0, 1.0] 中的浮点结果。我想使用颜色范围从 0.0 的红色到 1.0 的绿色(可能通过黄色 0.5)来可视化结果。我怎么能那样做?谢谢!
【问题讨论】:
我有一个函数返回区间 [0.0, 1.0] 中的浮点结果。我想使用颜色范围从 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 可以为您完成此转换。
【讨论】:
假设您有一种方法可以将 RGB 值表示为 0..1 范围内的 3 元组 (R,G,B),听起来您想要从:(1, 0, 0) 到: (0, 1, 0)。
您可以使用:rgbs = [(1-i,i,0) for i in your_floats]
然后使用任何图形库将这些 3 元组可视化为实际的 RGB 颜色。
【讨论】: