我正在使用以下代码使用 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()
不起作用,到目前为止我没有成功。最好的方法是什么?
谢谢,
菲利普
最佳答案
如果您查看 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))
关于R - 如何向 pheatmap 添加行和文本?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25241333/