[R] Publication-ready figures in R?

ONKELINX, Thierry Thierry.ONKELINX at inbo.be
Tue Jan 28 17:19:59 CET 2014

Dear Dan,

Have a look at ggplot2. It allows to define themes. I've create two theme for our institution: one according our internal styling guide, one according to the styling guide for Elsevier journal. Applying the Elsevier theme to all plots in a script requires just adding theme_set(theme_elsevier()) to the script.

Best regards,


ir. Thierry Onkelinx
Instituut voor natuur- en bosonderzoek / Research Institute for Nature and Forest
team Biometrie & Kwaliteitszorg / team Biometrics & Quality Assurance
Kliniekstraat 25
1070 Anderlecht
+ 32 2 525 02 51
+ 32 54 43 61 85
Thierry.Onkelinx at inbo.be

To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of.
~ Sir Ronald Aylmer Fisher

The plural of anecdote is not data.
~ Roger Brinner

The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data.
~ John Tukey

-----Oorspronkelijk bericht-----
Van: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] Namens Bebber, Dan
Verzonden: dinsdag 28 januari 2014 12:12
Aan: r-help at r-project.org
Onderwerp: [R] Publication-ready figures in R?

I would like to make a plea for "publication-ready" figures from R.
The default figures produced by R (both traditional and lattice graphics) need to be amended (by users) in many respects to be acceptable by publishers.
I imagine that most R users are producing figures for publication, and it seems inefficient that so many adjustments need to be made.
Although publishers vary in their requirements, there is a general request for minimal whitespace, and labelling of figure parts with a, b, c etc. in the top left corner that should be easy to achieve in R.

For traditional graphics the main issues relate to white space, which could be reduced by e.g. par(mar =c(3,3,1,1), mgp = c(2,0.5,0), las = 1, tcl = -0.25) as defaults Labelling parts inside the plot region can be achieved by e.g. legend("topleft", legend = "A", bty = "n", x.intersp = 0, y.intersp = 0).
Labelling parts outside the plot region can almost be achieved by e.g. mtext("A", side = 3, adj = 0), although the label is too far to the right, rather than being in the top left corner.

For lattice graphics, whitespace can be reduced by adjusting trellis parameters as has been discussed previously, e.g.

However, labelling panels in lattice with a,b,c etc. in the top left corner seems extremely difficult and involved, as has been discussed previously e.g.

Although the lattice strips are very useful for identifying panels, publishers (in my field, at least) never allow this kind of labelling.

Therefore my question is: Could the default plotting functions be amended to make it easier for users to produce publication-ready graphics?

Dan Bebber

Department of Biosciences
University of Exeter

R-help at r-project.org mailing list
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
* * * * * * * * * * * * * D I S C L A I M E R * * * * * * * * * * * * *
Dit bericht en eventuele bijlagen geven enkel de visie van de schrijver weer en binden het INBO onder geen enkel beding, zolang dit bericht niet bevestigd is door een geldig ondertekend document.
The views expressed in this message and any annex are purely those of the writer and may not be regarded as stating an official position of INBO, as long as the message is not confirmed by a duly signed document.

More information about the R-help mailing list