在我的 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/