R - Как мне добавить строки и текст в pheatmap?
Я создаю тепловые карты, используя pheatmap()
использовать следующий код:
library(pheatmap)
pheatmap((data_matrix[,1:11]), cluster_rows = F, cluster_cols = F, scale="none",
show_rownames=F, treeheight_row = F,
color=colorRampPalette(rev(c("red","white")))(50),
main="values", cex.main=1.2)
Я хотел бы добавить текст и строки в некоторых позициях, чтобы указать группы и проценты.
abline()
а также text()
не работаю и с оверплоттингом я пока не добился успеха.
Каков наилучший способ сделать это?
Спасибо филипп
2 ответа
Если вы посмотрите на исходный код для pheatmap
Функция вы увидите, что после некоторого возни с данными он вызывает heatmap_motor
функция.
Глядя на эту функцию (она не экспортируется, поэтому вам придется набрать pheatmap:::heatmap_motor
чтобы увидеть его исходный код) вы увидите, что он использует функции из grid
пакет для построения тепловой карты, следовательно, используя abline
или же text
не сработает, но grid.abline
или же grid.text
будут!
Например (обратите внимание, что координаты были найдены методом проб и ошибок):
library(pheatmap)
library(grid)
a <- matrix(rnorm(100), 10, 10)
pheatmap(a, cluster_rows = F, cluster_cols = F)
grid.text(1:100, x=rep(seq(0.05, 0.91, length.out=10), 10),
y=rep(seq(0, 1, 0.1)+0.05, each=10))
Ты можешь использовать display_numbers
вариант в pheatmap
, Например,
library(pheatmap)
a <- matrix(rnorm(90), 9, 10)
txt <- matrix(sample(letters, replace = TRUE, 90), 9, 10)
pheatmap(a, cluster_rows = F, cluster_cols = F, display_numbers = txt)
Результат рисунок: pheatmap с текстами