Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ggplot2 plot area margins?

Is there an easy way to increase the space between the plot title and plot area below it (i.e., the box with the data). Similarly, I'd prefer to have some space between the axis title and axis labels.

In other words, is there a way to "move the title a bit up, the y axis title a bit left, and the x axis title a bit down"?

like image 209
KT. Avatar asked May 31 '12 15:05

KT.


1 Answers

You can adjust the plot margins with plot.margin in theme() and then move your axis labels and title with the vjust argument of element_text(). For example :

library(ggplot2) library(grid) qplot(rnorm(100)) +     ggtitle("Title") +     theme(axis.title.x=element_text(vjust=-2)) +     theme(axis.title.y=element_text(angle=90, vjust=-0.5)) +     theme(plot.title=element_text(size=15, vjust=3)) +     theme(plot.margin = unit(c(1,1,1,1), "cm")) 

will give you something like this :

enter image description here

If you want more informations about the different theme() parameters and their arguments, you can just enter ?theme at the R prompt.

like image 193
juba Avatar answered Oct 10 '22 01:10

juba