I dunno, it doesn't seem to do it for me, name = "Rplot%03d.png" real.name = path.expand(name) real.name #[1] "Rplot%03d.png" list.files(patt=".png") #[1] "Rplot001.png"
sessionInfo() R version 2.11.1 (2010-05-31) i386-apple-darwin9.8.0 locale: [1] en_GB.UTF-8/en_GB.UTF-8/C/C/en_GB.UTF-8/en_GB.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base On 21 August 2010 14:15, kees duineveld <kees.duinev...@gmail.com> wrote: > Now I understand. You need the name which png() does not return. > So I think you need to do (untested, I am struggling with the cat()): > > > makePlot = function(p, name="Rplot%03d", width=300) > { > real.name.png = path.expand(paste(name,'.png'sep='') # function needed here > real.name.pdf = path.expand(paste(name,'.pdf'sep='') # function needed here > png(real.name.png) > print(p) > dev.off() > pdf(real.name.pdf) > print(p) > dev.off() > cat(noquote(paste('image:',real.name.png,',width=',width,',link=real.name.pdf) > } > > On Sat, 21 Aug 2010 14:02:04 +0200, baptiste auguie > <baptiste.aug...@googlemail.com> wrote: > >> My function needs to do two things with the filename: >> >> First, create the plot file. For this, Rplot%03d is OK because it is >> correctly interpreted by the graphics device. >> >> Second, generate a text string referring to this filename. This is >> where I need to convert Rplot%03d to, say, Rplot001. I am assuming >> that it is implemented internally by looking at the files in the >> current directory with some regular expression search, and >> incrementing the end number as needed. I wonder if there's a high >> level function to perform this task. >> >> Best, >> >> baptiste >> >> On 21 August 2010 13:35, kees duineveld <kees.duinev...@gmail.com> wrote: >>> >>> Not sure what you want. Plot does that automatically. It seems to use >>> path.expand() to make the %03d expansion. Not that path.expand() is >>> documented to do this, but it seem to work. >>> >>> Kees >>> >>> On Sat, 21 Aug 2010 13:04:54 +0200, baptiste auguie >>> <baptiste.aug...@googlemail.com> wrote: >>> >>>> Dear list, >>>> >>>> I'm using the brew package to generate a report containing various >>>> plots. I wrote a function that creates a plot in png and pdf formats, >>>> and outputs a suitable text string to insert the file in the final >>>> document using the asciidoc syntax, >>>> >>>> <% >>>> tmp <- 1 >>>> makePlot = function(p, name=paste("tmp",tmp,sep=""), width=300) >>>> { >>>> png(paste(name,".png",sep="")) >>>> print(p) >>>> dev.off() >>>> pdf(paste(name,".pdf",sep="")) >>>> print(p) >>>> dev.off() >>>> >>>> >>>> cat(noquote(paste('image:',name,'.png["',name,'",width=',width,',link="',name,'.pdf"]',sep=""))) >>>> tmp <<- tmp + 1 >>>> } >>>> %> >>>> >>>> The resulting html file contains a thumbnail of the png file, with a >>>> link to the pdf file. >>>> >>>> I'm not happy with my default filename for the graphics. Is there a >>>> way to expand the default filename of R graphic devices? I would like >>>> to call it like this, >>>> >>>> >>>> makePlot = function(p, name="Rplot%03d", width=300) >>>> { >>>> >>>> real.name = expandName(name) # function needed here >>>> png(paste(name,".png",sep="")) >>>> print(p) >>>> dev.off() >>>> pdf(paste(name,".pdf",sep="")) >>>> print(p) >>>> dev.off() >>>> >>>> >>>> cat(noquote(paste('image:',real.name,'.png["',real.name,'",width=',width,',link="',real.name,'.pdf"]',sep=""))) >>>> } >>>> >>>> >>>> Sincerely, >>>> >>>> baptiste >>>> >>>> ______________________________________________ >>>> R-help@r-project.org mailing list >>>> https://stat.ethz.ch/mailman/listinfo/r-help >>>> PLEASE do read the posting guide >>>> http://www.R-project.org/posting-guide.html >>>> and provide commented, minimal, self-contained, reproducible code. >>> >>> >>> -- >>> >>> ______________________________________________ >>> R-help@r-project.org mailing list >>> https://stat.ethz.ch/mailman/listinfo/r-help >>> PLEASE do read the posting guide >>> http://www.R-project.org/posting-guide.html >>> and provide commented, minimal, self-contained, reproducible code. >>> > > > -- > Using Opera's revolutionary email client: http://www.opera.com/mail/ > ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.