Skip to content

XQuartz

5 messages · Paul Ossenbruggen, R Erickson, michael.weylandt at gmail.com (R. Michael Weylandt +1 more

#
I am generating within a loop a large number of XQuartz images. I know that I can use the Save As command to save each one individually. This is very time consuming and tedious. Is it possible to save them  automatically with a R script command?

Thanks for any tip that one can offer.

Paul
#
Hi Paul,

Rather than use XQuartz, avoid "printing" the image and use the
pdf()/def.off() commands. Here's an example that I think answers your
question:

for(i in 1:10){
x <- i*1:10
y <- sqrt(x)
pdf(paste("File",i,".pdf",sep=""))
plot(x,y, main = paste("Test Case",i),type = 'l')
dev.off()
}

Note that the paste function gives you the file name within the pdf
function. Check out the ?pdf file to see how to change the width,
height, or file type.

If you are using ggplot2, ggsave can do similar things.

Does this help?

Richard
On Tue, Sep 24, 2013 at 12:01 PM, Paul Ossenbruggen <pjo at cisunix.unh.edu> wrote:
On Sep 24, 2013, at 13:16, R Erickson <raerickson at gmail.com> wrote:

            
Or, move pdf() before and dev.off() after the loop and make one big file with all the graphs on different pages.

M
#
Thanks for sharing this! I always wondered what was the trick for
creating multistage PDFs from R.

On Tue, Sep 24, 2013 at 4:19 PM, R. Michael Weylandt
<michael.weylandt at gmail.com> <michael.weylandt at gmail.com> wrote:
#
And what does any of this have to do with XQuartz?  That is the 
third-party X11 server/sub-system for OS X.  Perhaps the quartz() device 
was meant ....

For the sake of those reading the archives, can we have a much clearer 
statement of the actual problem?  There might be better solutions, 
including quartz(type = "pdf') (which is closer to what 'Save As' from 
the quartz() device does).
On 25/09/2013 13:31, R Erickson wrote: