Нерегулярный интервал в Matlab Colormap

Я рисую значения, используя функцию «заплатки» в Matlab, где данные, хранящиеся в векторе, определяют цвет заплат.

Мои данные варьируются от 0 до 5, но большинство данных сгруппированы вокруг 0,5 и 4,5. Если я устанавливаю пределы цветовой карты [0-1], я теряю детали в более высоких значениях, а если я устанавливаю диапазон [0-5], я теряю информацию для более низких значений на моем графике.

Я пытаюсь создать свою собственную карту цветов, определяя цвета в трех столбцах RGB, но не понимаю, как распределяются цвета. Как мне определить интервал, чтобы получить больше четкости при более низких и более высоких значениях? Есть ли другой способ?


person Maxim L    schedule 02.07.2015    source источник
comment
Много разных способов сделать это программно, но если это только для одноразового использования, вы можете использовать встроенный в Matlab colormapeditor   -  person Hoki    schedule 02.07.2015
comment
Я бы сказал, что вам нужна нелинейная карта цветов.   -  person thewaywewalk    schedule 02.07.2015
comment
Это может вам помочь: stackoverflow.com/questions/17230837/ просто установите цвета в соответствующих вам точках x, то есть что-то вроде x = [0 0.5 4.5 5]. По сути, это то, что, по моему мнению, предлагает ответ Наве.   -  person Dan    schedule 02.07.2015


Ответы (1)


Из документации colormap:

Чтобы создать пользовательскую карту цветов, задайте карту как матрицу трех столбцов триплетов RGB, где каждая строка определяет один цвет. Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красного, зеленого и синего компонентов цвета. Интенсивность должна быть в диапазоне [0,1]. Например, эта матрица определяет палитру, содержащую пять цветов.

map = [0.2, 0.1, 0.5
    0.1, 0.5, 0.8
    0.2, 0.7, 0.6
    0.8, 0.7, 0.3
    0.9, 1, 0];

Я бы взял выбранную вами карту цветов и интерполировал дополнительные значения в посередине, так что большая часть вариаций смещается к более низким и верхним значениям.

person buzjwa    schedule 02.07.2015