In this recipe, we will learn how to adjust graph margins and dimensions.
All you need to try out in this recipe is to run R and type the recipe in the command prompt. You can also choose to save the recipe as a script so that you can use it again later on.
We can use the fin
and pin
arguments of the par()
command to set the figure region and plot dimensions:
par(fin=c(6,6), pin=c(4,4))
We can use the mai
and omi
arguments to adjust the inner and outer margins, respectively:
par(mai=c(1,1,1,1), omi=c(0.1,0.1,0.1,0.1))
All the mentioned arguments accept values in inches as a pair of width and height values. The default values for fin
and pin
are approximately 7 x 7 and 5.75 x 5.15. We have to be careful not to specify higher values for pin
than fin
, or we would get an error.
Adjusting fin
and pin
is one way of setting the figure margins that contain the axis annotations and labels. Another way is to use the mai
or mar
arguments. In the example mentioned, we used mai
, which takes a vector values in inches, whereas mar
takes a vector of numerical values in terms of the number of lines of margins. It is better to use mar
or mai
because they adjust the figure margins irrespective of the figure or plot size.
We can also set an outer margin that is set to zero by default. This margin is useful if we wish to contain the entire graph including axis labels within a box, as we saw in an earlier recipe. Like figure margins, outer margins can be set in inches with omi
or in number of lines of text using oma
.
R Graphics by Paul Murrell (CRC Press) is an excellent reference with visual explanations of how margins work in R. See the book's homepage for more details at http://www.stat.auckland.ac.nz/~paul/RGraphics/rgraphics.html.
This talk by Paul Murrell also contains figures from the book, explaining the same concepts: http://www.stat.auckland.ac.nz/~paul/Talks/Rgraphics.pdf.
3.137.165.228