Python:将浮点范围[0.0,1.0]映射到颜色范围[红色,绿色]?

标签 python colors range

我有一个函数返回区间 [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/

相关文章:

xcode - 如何在 SwiftUI 中关闭 NavigationLink 覆盖颜色?

python - 为什么我们在循环中使用 "i",例如 "for i in range"?

excel - 访问 range.areas(2) 中的值

python - 子进程模块无法运行命令

python - 使用 CSV 模块解析 CSV 字符串

javascript - 更改 Canvas 上图像的颜色/色调的最佳方法是什么?

java - 为什么 Range 会抛出 UnsupportedOperationException?

python - 如何减少基于 Spacy 的 Python 应用程序的安装大小

python - 如何在我的Django文件中包含一个表单?

ios - 在代码中动态更改详细信息披露按钮的颜色