2016-03-17 4 views
0

Я пытаюсь получить тепловую карту для работы в R, но я заметил некоторое довольно неустойчивое поведение цветовых карт. Малый экстракт из данных:R heatmap - как получить единую цветовую карту?

data = matrix(c(0,0,1,1,1,2,2,2,2,2,1,1,1,0,1,1,1,1,1,1,0,0,0,0,0),5,5,byrow=TRUE) 

Это дает матрицу 5x5, с тремя из строк, занимаемых всех 2-х, все 1, и все 0 соответственно. Однако, когда я пытаюсь применить цветовую карту, я получаю чистый белый цвет на всех трех этих строках, вместо разных цветов, как ожидалось.

library(RColorBrewer) 
heatmap(data,col=brewer.pal(3,'RdBu'),Colv=NA,Rowv=NA) 

The resulting heatmap

Это не цветная карта выбор будет шатким, я наблюдаю аналогичное поведение, когда я оставить карту цвета по умолчанию на. Что здесь происходит, как мне это уйти? Я хочу, чтобы 0 были одним цветом, 1 - одним цветом, 2 - одним цветом. В большом объеме вещей я также должен иметь возможность добавлять отдельно вычисляемые дендрограммы к строкам/столбцам, поскольку дендрограммы не могут быть конвертированы в hclusts из-за причин, находящихся вне моего контроля, что делает fheatmap не очень жизнеспособным решением.

ответ

1

Сразу же после отправки этого вопроса, я нашел вариант шкалы тепловой карты. Решение, таким образом, становится:

heatmap(data,col=brewer.pal(3,'RdBu'),Colv=NA,Rowv=NA,scale="none") 

As intended

Извиняюсь, я покажу себя из