文本标签被裁剪到ggplot方面图上(clip =“ off”似乎无济于事)

时间:2019-05-17 14:56:22

标签: r ggplot2

library(tidyverse)
ggplot(mpg %>% filter(displ > 6, displ < 8, ), aes(displ, cty)) + 
  geom_point() + 
  facet_grid(vars(drv), vars(cyl)) + 
  geom_text(aes(label = trans)) +
  coord_cartesian(clip = "off")

以下构面图中的底部面板包含一个点,其坐标近似为x = 7y = 15。此时,标签已被构面剪切。您看不到括号内应该是什么。我尝试了clip = "off"参数,但这似乎不是解决我问题的方法。裁剪的解决方案是什么?我想传达给ggplot,如果小平面与标签重叠,则将轴推出一些。

我还应该提到,我希望标签保持原样。我真正需要的是在适当的时候推出轴标签,而对于正在考虑的实际绘图,我无法手动完成。因为有几十个“实际”图,所以每隔几周会定期更改,因此我在所有图上重新运行脚本。坐标轴上的图也非常广泛(数量级),因此按百分比扩展比例也不可行(据我所知,也许有一个好方法)。

facet clip

1 个答案:

答案 0 :(得分:1)

library(tidyverse)
ggplot(mpg %>% filter(displ > 6, displ < 8, ), aes(displ, cty)) + 
  geom_point() + 
  facet_grid(vars(drv), vars(cyl)) + 
  geom_text(aes(label = trans), hjust = "inward") +
  coord_cartesian(clip = "off")

enter image description here

编辑,每个OP注释:或者,如果要保持标签对齐,请展开x轴:

library(tidyverse)
ggplot(mpg %>% filter(displ > 6, displ < 8, ), aes(displ, cty)) + 
  geom_point() + 
  facet_grid(vars(drv), vars(cyl)) + 
  geom_text(aes(label = trans)) +
  scale_x_continuous(expand = c(0.1,0)) +
  coord_cartesian(clip = "off")