построение графиков с конкретными значениями для карты тепла в pheatmap - PullRequest
1 голос
/ 29 мая 2019

У меня есть такой фрейм данных:

gene    s1  s2  s3
1   -3.83   -8.17   -8.59
2   0.33    -4.51   -7.27
3   0.15    -5.26   -6.2
4   -0.08   -6.13   -5.95
5   -1.15   -4.82   -5.75
6   -0.99   -4.11   -4.85
7   0.42    -4.18   -4.54
8   -0.32   -3.43   -4.4
9   -0.72   -3.37   -4.39

Я хочу создать тепловую карту, используя pheatmap, где, если что-то ниже -4, оно должно быть зеленым, а все, что выше +4, должно быть красным, а все что между ними должно быть красного / зеленого оттенков. Я также не хочу масштабировать свои данные и не кластеризоваться. У меня есть этот код в R:

d <- read.table("test.txt", header = TRUE, sep = "\t", row.names = 1, quote = "")

pheatmap(as.matrix(d),  # matrix
         scale = "none",         # z score scaling applied to rows 
         cluster_cols=FALSE,    # do not cluster columns
         cluster_rows = FALSE,
         treeheight_row=0,      # do not show row dendrogram
         show_rownames=FALSE,   # do not show row names i.e gene names
         main = "test.txt",
         color = colorRampPalette(c("#0016DB","#FFFFFF","#FFFF00"))(50),
         )

Как я могу нарисовать это с помощью цветовой схемы, которую я упомянул выше.

Спасибо

1 Ответ

1 голос
/ 29 мая 2019
d <-read.table(text="gene      s1      s2      s3
                        1   -3.83   -8.17   -8.59
                        2    0.33   -4.51   -7.27
                        3    0.15   -5.26   -6.20  
                        4   -0.08   -6.13   -5.95
                        5   -1.15   -4.82   -5.75
                        6   -0.99   -4.11   -4.85
                        7   0.42    -4.18   -4.54
                        8   -0.32   -3.43   -4.40
                        9   -0.72   -3.37   -4.39", header=T)

library(pheatmap)

my_colors <- c(min(d),seq(-4,4,by=0.01),max(d))

my_palette <- c("green",colorRampPalette(colors = c("green", "red"))
                (n = length(my_colors)-2), "red")

pheatmap(as.matrix(d),  
         scale = "none",         
         cluster_cols=FALSE,    
         cluster_rows = FALSE,
         treeheight_row=0,      
         show_rownames=FALSE,   
         main = "test.txt",
         color = my_palette,
         breaks = my_colors)

Создано в 2019-05-29 пакетом представ. (v0.3.0)

...