如何在pheatmap主标题的表达式中添加两个或更多新行

问题描述 投票:0回答:1

我在 pheatmap 中使用表达式时有一个关于表达式的小问题。

例如,我想在 pheatmap 图中的主标题中添加一些详细信息。这是我的可重现代码:

main = expression(bold(paste(atop(CD4_CD69^"+","\nReported human signature core methylation genes"~n[tiles]~" = 1999;"~n[genes]~"= 89"))))

main = expression(bold(paste(CD4_CD69^"+","\nReported human signature core methylation genes","\n",n[tiles]," = 1999;",n[genes],"= 89")))   



test = matrix(rnorm(200), 20, 10)
test[1:10, seq(1, 10, 2)] = test[1:10, seq(1, 10, 2)] + 3
test[11:20, seq(2, 10, 2)] = test[11:20, seq(2, 10, 2)] + 2
test[15:20, seq(2, 10, 2)] = test[15:20, seq(2, 10, 2)] + 4
colnames(test) = paste("Test", 1:10, sep = "")

rownames(test) = c(paste("CGene", 6:10, sep = ""),
                   paste("AGene", 1:5, sep = ""),
                   paste("BGene", 11:15, sep = ""),
                   paste("DGene", 16:20, sep = ""))


p1 <- pheatmap(test, main = "pheatmap")

?atop
?pheatmap
p2 <- pheatmap((test),cluster_row = FALSE,
               main = expression(bold(paste(atop(CD4_CD69^"+","Reported human signature core methylation genes"~n[tiles]~" = 1999;"~n[genes]~"= 89")))))

虽然有一点错误信息,但效果很好。

但是这里的主要标题信息很长,看来加两行将句子分成三行比较好。

但是,众所周知,“ " 在表达式中不起作用。虽然我可以在这里删除

expression

但我不知道还有其他更好的方法来解决我的问题。

希望有人或专家能给我一些建议或解决方案。

提前致谢。

r expression pheatmap
1个回答
0
投票

一个选择是使用此解决方法:

创建没有标题的绘图,然后使用

grid
gridExtra
包添加多行文本:

library(pheatmap)
library(grid)
library(gridExtra)

# heatmap without a main title
p2 <- pheatmap(test, cluster_row = FALSE)

# multiline title
title_grob <- textGrob(label = "CD4_CD69+\nReported human signature core methylation genes\nn[tiles] = 1999; n[genes] = 89",
                       gp = gpar(fontsize = 14))


grid.newpage()
grid.draw(arrangeGrob(title_grob, p2$gtable, heights = c(1, 10)))

© www.soinside.com 2019 - 2024. All rights reserved.