2017-09-22 7 views
1

私のPythonコードでは、キャンバス上にいくつかの点を描いています。各点には関連する量f(P)があり、fは[0、f_ {max}]の間の値を取る関数である。数量とRGBカラーの連続マッピングですか?

色がf(P)の値に対応するようにポイントを色付けしたいと思います。マッピングは連続している必要があります。

問題は、Pythonの色はRGB形式、言い換えれば3変数の関数で表されるので、私はこれにどのように接近するのか不明です。

答えて

2

HSV(色相、彩度、値)からRGBにマッピングし、色相をスカラー値で変えて、彩度と値を定数に設定することができます。

import colorsys 

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

値を関数に渡す前に、値を0と1の間でスケールします。色が折り返され、1は0と同じ結果を返します。これが問題であれば、0と1の間の範囲の一部のみを使用できます。