R ggplot2绘图区域边距?

R ggplot2绘图区域边距?,r,ggplot2,data-visualization,R,Ggplot2,Data Visualization,是否有一种简单的方法来增加绘图标题与其下方绘图区域(包含数据的框)之间的间距。类似地,我更喜欢在轴标题和轴标签之间留一些空间 换句话说,是否有一种方法可以“将标题向上移动一点,y轴标题向左移动一点,x轴标题向下移动一点”您可以使用主题()中的plot.margin调整打印边距,然后使用元素文本()的vjust参数移动轴标签和标题。例如: library(ggplot2) library(grid) qplot(rnorm(100)) + ggtitle("Title") + th

是否有一种简单的方法来增加绘图标题与其下方绘图区域(包含数据的框)之间的间距。类似地,我更喜欢在轴标题和轴标签之间留一些空间


换句话说,是否有一种方法可以“将标题向上移动一点,y轴标题向左移动一点,x轴标题向下移动一点”

您可以使用
主题()
中的
plot.margin
调整打印边距,然后使用
元素文本()
vjust
参数移动轴标签和标题。例如:

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"))
会给你这样的东西:


如果您想了解有关不同
主题()
参数及其参数的更多信息,只需在R提示符下输入
?theme

您始终可以将一些
“\n”
字符粘贴到标题以强制换行。谢谢!我不确定为
grid::units
提供什么才能使
plot.margin
参数起作用。事实证明,您必须为
单位提供长度为4的数字。太糟糕了,
units
x
参数没有以某种方式循环使用。另外,您可能已经知道这一点,但值得注意/更新的是,
opts
现在在最新版本的ggplot2(0.9.2+)中被弃用,被
theme
取代,正如
theme\u text
现在被
element\u text
取代一样。plot.margin的边的顺序是unit(c(上、右、下、左)、units)如果其他人想节省查找的时间。@generic\u用户:可能更容易记住,如前所述:
t,r,b,l(要记住顺序,请考虑麻烦)。
或者记住。。。它从顶部顺时针旋转:
顶部
右侧
底部
左侧
。另外:
边距(t,r,l,b)