12.2 Plot Margins
All plots in R have margins surrounding them that separate the main plotting space from the area where the axes, labels and additional text lie. To visualize how R creates plot margins, look at margin Figure 11.20.
You can adjust the size of the margins by specifying a margin parameter using the syntax
par(mar = c(bottom, left, top, right)), where the arguments
left … are the size of the margins. The default value for
mar is c(5.1, 4.1, 4.1, 2.1). To change the size of the margins of a plot you must do so with
par(mar) before you actually create the plot.
Let’s see how this works by creating two plots with different margins:In the plot on the left, I’ll set the margins to 3 on all sides. In the plot on the right, I’ll set the margins to 6 on all sides.
# First Plot with small margins par(mar = c(2, 2, 2, 2)) # Set the margin on all sides to 2 plot(1:10) mtext("Small Margins", side = 3, line = 1, cex = 1.2) mtext("par(mar = c(2, 2, 2, 2))", side = 3) # Second Plot with large margins par(mar = c(5, 5, 5, 5)) # Set the margin on all sides to 6 plot(1:10) mtext("Large Margins", side = 3, line = 1, cex = 1.2) mtext("par(mar = c(5, 5, 5, 5))", side = 3)
You’ll notice that the margins are so small in the first plot that you can’t even see the axis labels, while in the second plot there is plenty (probably too much) white space around the plotting region.
In addition to using the
mar parameter, you can also specify margin sizes with the
mai parameter. This acts just like
mar except that the values for
mai set the margin size in inches.