Это модуль 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
Это создаст насыщенную цветную карту viridis с 256 записями. Также возможно создать реальную версию карты, используя вместо этого 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. Померяя диапазон [a, b] значений, которые должны быть представлены как цвет в диапазоне [0,1], выбирает цвет со скалярным значением Ближайший к сопоставлению значения. Значения - равное расстояние, что означает, что скалярное значение в первом столбце фактически не должно использоваться, индекс в таблицу может быть рассчитано с ( v (vA)/(BA) .
Значения цвета в этом случае приведены как тройной байты. Если последний параметр для сценария get-color-maps.py является float вместо byte , цвет определяется как тройной значения с плавающей точкой.
Сценарий 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 , каждая диагональная линия имеет одинаковый цвет. Результатом является картина с гораздо более высоким разрешением:
В системах федоры не все используемые пакеты Python упакованы на сфере Fedora 33. Явно установите пакеты сначала с
pip install colormath toyplot