如何在ggplot中空白轴标题而不影响图大小?

时间:2019-02-13 19:56:16

标签: r ggplot2

我想一起显示相关的ggplots,轴的大小都相同,但是有些图显示了轴标题,而另一些图则使轴标题空白。但是,使用element_blank()删除轴也会更改绘图的大小。这是一个示例:

library(tidyverse)
library(cowplot)

tb <- tibble(a = 1:5, b = 1:5)

with_x_title <- ggplot(tb, aes(a,b)) +
  geom_point()

without_x_title <- ggplot(tb, aes(a,b)) +
  geom_point() +
  theme(axis.title.x = element_blank())

ggdraw() +
  draw_plot(with_x_title, x = 0, y = 0, width = 0.5, height = 1) +
  draw_plot(without_x_title, x = 0.5, y = 0, width = 0.5, height = 1)

在这里,没有x轴标题的绘图的y轴被展开。有办法防止这种情况发生吗?

我知道我可以通过更改ggdraw调用中的高度和位置来伪造一个修复程序,但是我想要一个适用于ggplots的修复程序。我也想像这是一个普遍的问题,但是还没有找到解决方案。

1 个答案:

答案 0 :(得分:1)

将x轴的名称指定为空字符串,即""而不是element_blank()

...

without_x_title <- ggplot(tb, aes(a,b)) +
  geom_point() +
  # theme(axis.title.x = element_blank()) +
  labs(x = "")

...

enter image description here