Я думаю, что самый простой способ - это работать в HSL / HSB (яркость насыщенности оттенка), где значения оттенка 0-33% от максимума будут отображаться в диапазоне красный-оранжевый-желто-зеленый,Преимущество работы в HSL (против RGB) заключается в том, что результирующий диапазон цветов будет выглядеть намного лучше (например, ярко-желтый в RGB содержит щепотку синего цвета).
Таким образом, в основном вы создадите значение на основепостоянное значение S и L и значение H, соответствующее
your_value * (1/3 of the maximum H value, often 255)
, а затем преобразовать это значение обратно в RGB для отображения.Не знаю Python (позор мне), но, очевидно, модуль colorsys может сделать это преобразование для вас.