开发者

Saving multiple boxplots

I've made a loop to create multiple boxplots. The thing is, I want to save all the boxplots without overwrit开发者_开发技巧ing each other. Any suggestions?

This is my current code:

boxplot <- list()
for (x in 1:nrow(checkresults)){
    boxplots <- boxplot(PIM[,x], MYC [,x], OBX[,x], WDR[,x], EV[,x], 
                        main=colnames(PIM)[x], 
                        xlab="PIM, MYC, OBX, WDR, EV")
}


Do you want to save them in some files, or save them to be able to look at them in different windows ?

If it is the first case, you can use a png, pdf or whatever function call inside your for loop :

R> for (i in 1:5) { 
R>    png(file=paste("plot",i,".png",sep=""))
R>    plot(rnorm(10))
R>    dev.off() 
R> }

If you want to display them in separate windows, just use dev.new :

R> for (i in 1:5) { 
R>    dev.new()
R>    plot(rnorm(10)); 
R> }


Just to add to @juba's answer, if you want to save the plots to a multi-page pdf file, then you don't have to use the paste command that @juba suggested. This

pdf("myboxplots.pdf")
for (x in seq_along(boxplots)){
    boxplot(PIM[,x], MYC [,x], OBX[,x], WDR[,x],EV[,x],
                     main = colnames(PIM)[x], 
                     xlab = "PIM, MYC, OBX, WDR, EV")
}
dev.off() 

creates a single multi-page pdf document, where each page is a boxplot. If you want to store the boxplots in separate pdf documents, then use the file=paste command.


First, create a list of the right length - it just makes things easier and is good practice to allocate storage before filling objects in via a loop:

boxplots <- vector(mode = "list", length = nrow(checkresults))

Then we can loop over the data you want, assigning to each component of the boxplots list as we go, using the [[x]] notation:

for (x in seq_along(boxplots)){
    boxplots[[x]] <- boxplot(PIM[,x], MYC [,x], OBX[,x], WDR[,x],EV[,x],
                             main = colnames(PIM)[x], 
                             xlab = "PIM, MYC, OBX, WDR, EV")
}

Before, your code was overwriting the previous boxplot info during subsequent iterations.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜