r - 将 Grob 对象的长图例拆分为 2 列
问题描述
所以我有一个热图的 grob 对象,其中我的实际组(条件)太多(49),因此它溢出了情节。我的问题是如何将带有条件 (condition1-10) 的图例 grob 拆分为多个列(例如,示例中的 10 列中的 2 列或原始列中的 25 列中的 2 列),以使其适合情节。
谢谢!
data <- replicate(20, rnorm(50))
rownames(data) <- paste("Gene", c(1:nrow(data)))
colnames(data) <- paste("Sample", c(1:ncol(data)))
metadata <- data.frame(
c(rep("cond1", ncol(data)/10), rep("cond2", ncol(data)/10), rep("cond3", ncol(data)/10),
rep("cond4", ncol(data)/10), rep("cond5", ncol(data)/10), rep("cond6", ncol(data)/10),
rep("cond7", ncol(data)/10), rep("cond8", ncol(data)/10), rep("cond9", ncol(data)/10),
rep("cond10", ncol(data)/10)), row.names=colnames(data))
colnames(metadata) <- c("condition")
require(pheatmap)
out <- pheatmap(data,
show_rownames=F, cluster_cols=T, cluster_rows=T, scale="row",
cex=1, clustering_distance_rows="euclidean", cex=1,
clustering_distance_cols="euclidean", clustering_method="complete", border_color=FALSE,
annotation_col=metadata,
annotation_row=metadata_gene)
grid::grid.draw(out$gtable)