使用非默认轴位置时,如何增加轴标题与绘图的距离?

时间:2018-08-10 18:40:10

标签: r ggplot2

我想增加小平面条和轴标题之间的间距。

我有一个使用facet_grid的图,轴标题位于非默认位置:顶部和右侧。

margin的{​​{1}}参数完全没有影响:axis.title无任何作用。 我尝试通过theme(axis.title = element_text(margin = margin(20, 20, 20, 20)))而不是axis.tick来抑制axis.textscale,但这没什么区别。

以下是可重现的示例:

theme

这是输出:

enter image description here

1 个答案:

答案 0 :(得分:0)

在这种情况下,必须使用参数example.data <- data.frame(x.var = rep(-2:2, 5), y.var = rep(-2:2, each=5), boolean.var = as.logical(sample(1:1000, 25) %% 2)) library(ggplot2) library(tidyr) example.data %>% ggplot(aes(fill = boolean.var)) + geom_rect(xmin = -1, xmax = 1, ymin = -1, ymax = 1) + scale_x_continuous(name = "(X Title)", position = "top", limits = c(-0.5,0.5)) + scale_y_continuous(name = "(Y Title)", position = "right", limits = c(-0.5,0.5)) + scale_fill_discrete(guide = FALSE) + facet_grid(y.var ~ x.var) + theme(panel.margin=unit(0.25 , "lines"), axis.title = element_text(size = 24, margin = margin(20, 20, 20, 20)), axis.ticks = element_blank(), axis.text = element_blank(), axis.title = element_text(margin = margin(20, 20, 20, 20))) axis.title.x.top

单独指定axis.title.y.rightaxis.title.x(当轴标题位于默认位置(向下,向左)时有效)仍然无效。

这是完整的示例,带有正确的间距:

axis.title.y

哪个给出以下输出:

enter image description here