0

我已经使用函数 pheatmap 创建了 36 个热图,我只想在一个图中显示它们。我曾尝试使用函数 par(),但它不起作用,我不知道为什么。有人可以告诉我该怎么做吗?非常感谢。这是我的代码:

require(graphics);require(grDevices);library("pheatmap", lib.loc="D:/Program Files/R/R-3.1.1/library");library(gplots)
filenames<-list.files("D:/Project/bladder cancer/heatmap0829/heatmap/"); # detect all of the files in the fold
filename2<-strtrim(filenames,nchar(filenames)-4); # all of the filenames without extension names
par(mfrow=c(18,2)) #divide the graphics windows into a 18x2 matrix
for(i in 1:length(filename2)){
rt<-read.table(paste("D:/Project/bladder cancer/heatmap0829/heatmap/",filenames[i],sep = ""), header = T, sep = '\t') # Import the data with the ith file name
size=dim(rt) # the dimensional of the datafram
 cw=400/size[1] #the width of the cell in the heatmap
rt<-log10(rt)
x <- t(data.matrix(rt))
pheatmap(x,color=greenred(256),main=filename2[i],cluster_rows = F, cluster_cols = T,cellwidth = cw, cellheight = 60,border_color =F,fontsize = 8,fontsize_col = 15)}

这是一个数据集

ScaBER  5637
1   1.010001e+02
1.341186e+00    2.505067e+01
1.669456e+01    8.834190e+01
7.141351e+00    3.897474e+01
1.585592e+04    5.858210e+04
1   3.137979e+01
1.498863e+01    7.694948e+01
1.115443e+02    3.642917e+02
1.157677e+01    5.036716e+01
4.926492e+02    8.642784e+03
3.047117e+00    1.872154e+01

我有 36 个这样的 txt 文件,但我不能把它们都放在这里 “ScaBER 5637”是这个数据集的列名

4

1 回答 1

1

请参阅以前的答案:直方图,错误:plot.new() 中的错误:图边距太大

par(mfcol=c(3,12), oma=c(1,1,0,0), mar=c(1,1,1,0), tcl=-0.1, mgp=c(0,0,0))


for(i in 1:36){

  plot(runif(2), runif(2), type="l")

}

dev.off()
于 2014-08-31T04:57:58.083 回答