有没有一种简单的方法来增加图表标题和下面的图表区域(即包含数据的框)之间的距离?同样,我希望在坐标轴标题和坐标轴标签之间有一些间隔。
换句话说,是否有一种方法可以“将标题向上移动一点,将y轴标题向左移动一点,将x轴标题向下移动一点”?
有没有一种简单的方法来增加图表标题和下面的图表区域(即包含数据的框)之间的距离?同样,我希望在坐标轴标题和坐标轴标签之间有一些间隔。
换句话说,是否有一种方法可以“将标题向上移动一点,将y轴标题向左移动一点,将x轴标题向下移动一点”?
您可以使用theme()
中的plot.margin
调整图形边距,然后使用element_text()
的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"))
这将给你类似于下面的结果:
如果您想获取有关不同theme()
参数及其参数的更多信息,只需在R提示符处输入?theme
即可。
plot.margin
参数中应该提供什么给 grid::units
才能使它工作。结果证明,您必须向 units
提供长度为4的数字。很遗憾, units
的 x
参数没有以某种方式被循环利用。此外,您可能已经知道,但值得注意/更新的是,在最新版本的 ggplot2(0.9.2+)中,opts
已被弃用,替换为 theme
,而 theme_text
现在被 element_text
替换。 - Paul 'Joey' McMurdiet, r, b, l(想象问题,以此记忆顺序)
。 - Tungmargin(t, r, l, b)
- Brian D
"\n"
字符以强制换行。 - joran