R: heatmap.2 изменить цветовой ключ - PullRequest
6 голосов
/ 21 декабря 2011

У меня вопрос по поводу пакета gplots. Я хочу использовать функцию heatmap.2 и, следовательно, я хочу изменить свою симметричную точку в цветовой клавише с 0 на 1. Обычно, когда symkey=TRUE и вы используете col=redgreen(), создается цветовая панель, где цвета управляются следующим образом. :

red = -2 to -0.5
black=-0.5 to 0.5
green= 0.5 to 2

Теперь я хочу создать цветную панель следующим образом:

red= -1 to 0.8
black= 0.8 to 1.2
green= 1.2 to 3

Возможно ли что-то подобное?

Спасибо!

1 Ответ

10 голосов
/ 21 декабря 2011

Если вы посмотрите на файл справки heatmap.2 , похоже, вам нужен аргумент breaks. Из файла справки:

breaks (необязательно). Либо числовой вектор, обозначающий точки разделения для разбивки x на цвета, либо целое число точек разрыва, которые будут использоваться, и в этом случае точки разрыва будут равномерно распределены между min (x) и макс (х)

Итак, вы используете breaks, чтобы указать точки среза для каждого цвета. e.g.:

library(gplots)

# make up a bunch of random data from -1, -.9, -.8, ..., 2.9, 3
# 10x10
x = matrix(sample(seq(-1,3,by=.1),100,replace=TRUE),ncol=10)

# plot. We want -1 to 0.8 being red, 0.8 to 1.2 being black, 1.2 to 3 being green.
heatmap.2(x, col=redgreen, breaks=c(-1,0.8,1.2,3))

Важнейшим битом является breaks=c(-1,0.8,1.2,3), являющийся вашими отсечками.

...