2017-03-24 65 views
0

我正在使用corrplot並在此處使用示例Plotting multiple corrplots (R) in the same graph我可以在同一個圖中顯示多個corplot(R)。不過,我想保存到一個tiff文件,因爲我使用循環,我不知道如何實現這一點。見下面的代碼。在圖中打印多個corplot(R)

我循環了幾塊我的實驗(Block1,block2)並繪製了一個接一個的corplot。這工作。我不明白如何直接輸入tiff文件。特別是放在哪裏

tiff(file ='Figure4Plot.tiff',width = 12,height = 12,units =「in」,res = 300)和dev.off()我嘗試過dflist和其他幾個但不起作用謝謝!

dflist<-c('Block1', 'Block2') 

par(mfrow=c(2,2)) 

for (i in seq_along(dflist)) { 
#Subset different Blocks 
dataCorr<- subset(total , (block == dflist[i])) 

p.mat <- cor.mtest(dataCorr) 
M<-cor(dataCorr) 

col <- colorRampPalette(c("#BB4444", "#EE9988", "#FFFFFF", "#77AADD", "#4477AA")) 
corrplot(M, method="color", col=col(200), 
     type="upper", title = title, 
     addCoef.col = "black", # Add coefficient of correlation 
     tl.col="red", tl.srt=45, #Text label color and rotation 
     # Combine with significance 
     p.mat = p.mat, sig.level = 0.05, insig = "blank", 
     diag=TRUE, 
     mar=c(0,0,1,0))} 
+0

你想所有情節出現在一個tiff文件中?什麼不行?你有錯誤嗎? – smacdonald

+0

smacdonald,謝謝!是的,我希望所有情節出現在一個tiff文件中,到目前爲止,我的各種嘗試只能獲得僅包含一個tiff文件的一個tiff文件 – Matilde

+0

我沒有您的原始數據,但請嘗試下面我的答案中的代碼,然後查看是否這有助於。 – smacdonald

回答

0

我沒有自己的原始數據,我不熟悉的corrplot包,所以我做了一些假的數據,並用只是一個簡單的plot()功能。除非有一些講究corrplot()功能,你應該能夠附上大部分代碼在tiff()塊,像這樣:

dflist <- c('Block1', 'Block2', 'Block3', 'Block4') 

total <- data.frame(block=sample(dflist, size=100, replace=TRUE), x=runif(100), y=runif(100)*2) 

tiff(file = 'Figure4Plots.tiff', width = 12, height = 12, units = "cm", res = 72) 

    par(mfrow=c(2,2)) 

    for (thisBlock in dflist) { 

     #Subset different Blocks 
     dataCorr <- subset(total , (block == thisBlock)) 
     dataCorr <- dataCorr[, c('x', 'y')] 

     plot(dataCorr) 
    } 

dev.off() 

這段代碼產生Figure4Plots.tiff

enter image description here

+0

謝謝! smacdonald – Matilde