Как создать градиентную полосу цвета плюс-минус в R?

Я работаю над обработкой изображений в R. Я написал функцию в R, которая читает текстовый файл и создает карту цветов, используя информацию о координатах и ​​значения интенсивности для каждой координаты в этом файле. Для представления этих изображений я сейчас использую цветовую схему радуги. Однако я хочу представить изображения, используя цветовую схему «плюс-минус». Это означает, что мне нужна цветовая схема с нейтральным центральным цветом (черным), расходящимся по обеим сторонам в сторону теплых цветов (красный) для положительных значений и холодных цветов для отрицательных (синий). Я пытался сделать это с помощью пакета colorRamp, но почему-то не могу получить эту цветовую схему. Кто-нибудь может помочь?

введите здесь описание изображения

Код после реализации предложения:

levelplot(t(m), scales=list(tick.number=0), xlab=" ", ylab=" ",    
colorkey=list(at=as.numeric(factor(c(seq(from=range[1], to=range[2],  
by=.1)))),labels=as.character(c( "327.1", "327.2", "327.3", "327.4", "327.5", "327.6",
"327.7", "327.8", "327.9"))),col.regions = two.colors(n=256, start='red', end='blue',     
middle='black'), main=main)

диапазон1 = 327,1 диапазон2 = 327,9

введите здесь описание изображения


person novicegeek    schedule 08.08.2014    source источник


Ответы (1)


В пакете fields функция two.colors:

library(fields)
two.colors(n=256, start='red', end='blue', middle='black')

введите здесь описание изображения

person Community    schedule 08.08.2014
comment
@Roman Luštrik Я воспользовался вашим предложением и реализовал это в своем коде. Я получил то, что хотел, но цветовая полоса разделена на разделы. Я обновил вопрос цветной полосой, полученной после реализации вашего предложения. Есть ли способ получить гладкую цветовую полосу градиента? Кроме того, для меток цветной полосы есть ли способ, чтобы код автоматически распределял число в указанном диапазоне в метках. Я также обновил код в вопросе. - person novicegeek; 08.08.2014