0

pheatmap我正在尝试在 in生成的热图中的所需坐标处插入垂直和水平线R

mat <- matrix(rnorm(200*200),200,200)
pheatmap(mat,treeheight_row = 0, treeheight_col = 0,
         col= colorRampPalette(c("gray", "white", "lightcoral"))((50)))
grid.lines(x=c(50,100,150),y=c(50,100,150)) 

我想在 处插入 3 条水平线,在 处插入 3 条y = c(50,100,150)垂直线x = c(50,100,150)。以这种方式使用“grid.lines”(?)没有帮助。

4

1 回答 1

0

这是一个基于 grobs 的解决方案。

library(grid)
nr <- nrow(mat)
nc <- ncol(mat)
grds <- c(50, 100, 150)
downViewport("matrix.4-3-4-3")
for (k in grds) {
  grid.lines(x=c(0,1), y=k/nc, gp=gpar(col="black", lwd=2))
  grid.lines(x=k/nr, y=c(0,1), gp=gpar(col="black", lwd=2))
}
popViewport()

在此处输入图像描述

于 2019-09-01T11:39:14.143 回答