python - 数量到 RGB 颜色之间的连续映射?

标签 python colors

在我的 Python 代码中,我在 Canvas 上绘制了一些点。每个点都有一个关联量 f(P),其中 f 是取值在 [0,f_{max}] 之间的函数。

我想对点进行着色,使颜色对应于 f(P) 的值,并且映射应该是连续的。

问题是Python中的颜色以RGB格式表示,换句话说是3个变量的函数,所以我不确定如何解决这个问题。

最佳答案

您可以从 HSV 进行映射(色调、饱和度、值)到 RGB,根据标量值改变色调并将饱和度和值设置为常量。

import colorsys

def scalar_to_rgb(scalar):
    return colorsys.hsv_to_rgb(scalar, 1, 1)

在将值传递给函数之前,将其缩放到 0 到 1 之间。颜色环绕,1 将给出与 0 相同的结果。如果这是一个问题,您可以仅使用 0 到 1 之间的部分范围。

关于python - 数量到 RGB 颜色之间的连续映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46360333/

相关文章:

javascript - python Selenium : Click on a specific Dropdown containing Java

python - 寻找任意矩阵 n*n 的上/下三角形式 - python

python - 无法在 Windows 上使用带有 Python 2.7.3 的 SQLAlchemy 连接到内存中的 SQLite 数据库

python - 在 Windows 上的 GTK 中,如何更改整个应用程序的背景颜色?

java - 如何以编程方式将色调添加到给定颜色?

c++ - JPEG: YCrCb <-> RGB 转换精度

python - 无法为 Tkinter 按钮的边框着色?

scroll - Flutter:在滚动时更改小部件不透明度和颜色的最佳方式

python - 如何更改 pandas 系列 datetime64 dtype 中所有实例的值

python - 确保同名文件始终匹配?