我使用以下代码使用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()不起作用,而且我现在还没有成功。
做这件事的最好方法是什么?
谢谢你,菲利普
发布于 2014-08-11 11:11:17
如果您查看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))发布于 2018-08-29 05:07:22
您可以在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)结果图:带文本的地图
https://stackoverflow.com/questions/25241333
复制相似问题