负刻度长度导出图表时轴标签与轴重叠 (ggplot2)

3
我在ggplot2中将简单散点图导出为pdf文件时遇到了一些问题。具体而言,当我将刻度标记长度设置为负值(必需时),刻度标记标签会与轴线合并(如下所示)。
图片:https://istack.dev59.com/RcpxP.webp 该图像在rstudio的绘图窗口中正常显示,但是当我导出到pdf时会出现问题。在axis.text.x中更改vjust似乎没有任何帮助。我还尝试过操纵绘图边距。
有人知道在这种情况下将标签移离轴的方法吗?
以下代码应该能够复制该问题。
data = data.frame(xvar = seq(1:20), yvar = seq(1:20), labvar = rep(c("A", "B"), 10))

require(ggplot2)
require(gridExtra)
p <- ggplot(data = data, aes(x = xvar, y = yvar)) +  geom_point() +
  facet_wrap(~labvar, scales = "fixed") +    
  theme_classic()+
  theme(axis.ticks.length=unit(-0.1, "cm"),
  axis.text.x=element_text(vjust = 0))

p

2
请参考Hadley的旧评论:https://groups.google.com/forum/#!topic/ggplot2/C0iGwoJy-Pw 我想这就是vjust不起作用的原因。 unit(-0.05,"cm") 可行吗? 这对我解决了重叠问题。 - tonytonov
@tonytonov 感谢提供链接,讨论很有趣。缩短刻度的长度似乎是完成任务的一种方式,谢谢。 - Adam Kimberley
1个回答

2
尝试使用axis.ticks.margin
p + theme(axis.ticks.margin = unit(5, "lines"))

enter image description here


我注意到?theme的文档现在包括了所有主题元素以及它们的作用列表。


这正是我想要的。不知道为什么在文档中错过了它,但还是谢谢你。 - Adam Kimberley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接