R: Good practice – adding footnotes to graphics
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
In some statistical programs there is the option available to attach a footnote to the graphical output that is created. This footnote may contain the name of the script or the file that produced the graphic, the author’s name and the date of creation. In SAS for example there is a footnote command to achieve this. Ever since I realized that this makes life a lot easier, I wrote a simple three-lines function in R which I use at the end of the construction of any graphic. I suppose, that this is what my professors meant with “good practice”. The nice thing about implementing this in the grid graphics system is that you can produce multiple graphics [e.g. by par(mfrow=c(2, 2))] and still the footnote will be positioned correctly.
############################################################### ## ## ## R: Good practice - adding footnotes to graphics ## ## ## ############################################################### # basic information at the beginning of each script scriptName <- "filename.R" author <- "mh" footnote <- paste(scriptName, format(Sys.time(), "%d %b %Y"), author, sep=" / ") # default footnote is today's date, cex=.7 (size) and color # is a kind of grey makeFootnote <- function(footnoteText= format(Sys.time(), "%d %b %Y"), size= .7, color= grey(.5)) { require(grid) pushViewport(viewport()) grid.text(label= footnoteText , x = unit(1,"npc") - unit(2, "mm"), y= unit(2, "mm"), just=c("right", "bottom"), gp=gpar(cex= size, col=color)) popViewport() } makeFootnote(footnote) ## Example ## plot(1:10) makeFootnote(footnote) ###############################################################
Here an example of a footnote added to the graphical output.
Cheers, Mark
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.