Невозможно сделать это, если вы хотите сохранить одно свойство: похожие числа должны иметь одинаковый цвет или, лучше, наоборот: очень разные числа никогда не должны давать одинаковые цвета.
Но если вы написали оможет показаться, что данные имеют градиентный характер, поэтому глаза могли бы быть более прощенными, если бы две разные «числовые зоны» имели одинаковые цвета из-за контекста близких цветов.
Я бы не стал использовать 16 бит (это было бы слишком много, и мы не можем четко видеть все цвета RGB, и мало кто имеет действительно хорошие мониторы).Возможно, вы можете создать интерфейс, который может увеличивать масштаб и добавлять больше контраста в ограниченном диапазоне.
Для меньшего количества битов вы можете начать с сине-зеленого (0, x, x) повышения [x с 0до 255], затем переходя к зеленому (0,255, х) [от 255 до 0], затем к черному (0, х, 0), от 255 до 0, затем к желтому (х, х, 0), затем к красному(255,0,0), затем черным, затем фиолетовым (х, 0, х), затем синим, затем черным и, наконец, белым (х, х, х).
Итак 10шкалы, которые дают нам больше, чем 3 дополнительных бита информации.
Я, вероятно, никогда бы не пошел к черному (как вы видите, это повторяется), а просто к x до 5 или 10, что уменьшит числобит.Но я думаю, что у вас все еще есть 11 бит информации, и масштаб различим человеческими глазами.
В этом примере я использовал 6 основных цветов + вторичные цвета (+ оттенки серого), поэтому их легко различить.Теоретически можно использовать дополнительные промежуточные цвета, но я думаю, что это намного запутало бы наши глаза.
Я бы предложил дополнительный ввод для смещения вверх и вниз по исходным номерам данных, чтобы пользователь мог проверить более подробно(и получать больше битов) в некоторых регионах.Но это хорошо работает, если между соседними числами не так много экстремальных изменений,