これは、で説明されているように、Kenneth Morelandの作業に従って、ほぼ任意のサイズのカラーマップを作成するためのPythonモジュールです。
http://www.kennethmoreland.com/color-maps/
これらのカラーマップにより、スカラー値を有限範囲からカラーにマッピングできます。これは、ヒートマップまたは空間充填曲線で役立ちます。
事前定義されたパラメーターを持つオブジェクトは、次のようなmake_*関数を使用して作成できます。
map = moreland.make_kindlmann()
これらのオブジェクトは今のところに意図されています
get-color-map.pyスクリプトを使用して、選択したカラーマップを説明する個々のCSVファイルを取得します。
python3 get-color-map.py viridis 256 byte
これにより、256のエントリを備えた飽和色Viridisマップが作成されます。また、 float byteを使用して、マップの実際のバージョンを作成することもできます。または両方を使用します。
上記のコマンドの出力は、次の行で開始/終了するファイルviridis-table-byte-0256.csvにあります。
scalar,RGB_r,RGB_g,RGB_b
0.0,72,0,84
0.00392156862745098,73,0,86
0.00784313725490196,73,0,87
0.011764705882352941,74,0,89
0.01568627450980392,74,1,90
...
0.9882352941176471,236,232,21
0.9921568627450981,238,232,24
0.996078431372549,241,232,26
1.0,243,233,28
最初の値は、0〜1の範囲のスカラー値です。範囲[0,1]の色として表される値の範囲[a、b]をマッピングすることにより、スカラー値で色を選択します。マッピングされた値に最も近い。値は等しい距離です。つまり、最初の列のスカラー値を実際に使用する必要はありません。値vのテーブルへのインデックスは(vA)/(BA)で計算できます。
この場合、色の値はバイトのトリプルとして与えられます。 get-color-maps.pyスクリプトの最後のパラメーターがbyteの代わりにfloatある場合、色はフローティングポイント値のトリプルとして与えられます。
gen-svg.pyスクリプトを使用して、カラーマップを視覚化するSVGファイルを生成できます。 256色のバイトマップでのみ機能します。例として、 black-body-table-byte-0256.csvのブラックボディマップはで視覚化できます
./gen-svg.py black-body-table-byte-0256.csv > black-body-256.svg
結果は次のようになります:
追加の--fineパラメーターを使用すると、各対角線は同じ色です。結果は、はるかに高い解像度の写真です。
Fedoraシステムでは、すべての使用されているPythonパッケージがFedora 33のようにパッケージ化されているわけではありません。最初にパッケージを明示的にインストールします
pip install colormath toyplot