我试图在R中彼此相邻地显示热图,但它失败了。 我在做的是:
library(gplots)
xPos11<-read.table("dataset1.txt")
xPos2<-read.table("dataset2.txt")
xPos3<-read.table("dataset3.txt")
xPos4<-read.table("dataset4.txt")
colorMin = 0
colorMax = 5
pdf("Region3.heatmap.pdf")
par(mfrow=c(4,4))
heatmap.2(as.matrix( xPos1 ), Rowv=FALSE, Colv=FALSE, dendrogram="none", key=TRUE, density.info="none", trace="none", breaks=seq(colorMin, colorMax, length.out=101))
heatmap.2(as.matrix( xPos2 ), Rowv=FALSE, Colv=FALSE, dendrogram="none", key=TRUE, density.info="none", trace="none", breaks=seq(colorMin, colorMax, length.out=101))
heatmap.2(as.matrix( xPos3), Rowv=FALSE, Colv=FALSE, dendrogram="none", key=TRUE, density.info="none", trace="none", breaks=seq(colorMin, colorMax, length.out=101))
heatmap.2(as.matrix( xPos4 ), Rowv=FALSE, Colv=FALSE, dendrogram="none", key=TRUE, density.info="none", trace="none", breaks=seq(colorMin, colorMax, length.out=101))
dev.off()
现在正在发生的事情是,而不是获得一个包含所有4个热图的pdf页面,我将获得4页pdf,每个页面都有一个热图。
有人可以帮我调整代码,以便在R中获得所需的热图结构面板。
谢谢
答案 0 :(得分:0)
您可以绘制热图以分隔文件,然后将它们与imagemagick中的“蒙太奇”命令结合使用:
m <- matrix(runif(10^2), ncol=10)
for (i1 in 1:4) {
ifile <- paste0(i1,'_heatmap.pdf')
pdf(ifile)
heatmap(m)
d <- dev.off()
}
system('montage -geometry 100% -tile 2x2 ./*_heatmap.pdf outfile.pdf')