我在ggplot2中绘制一个图,在y轴上我有组的索引,在x轴上有一些信息。为了便于阅读,我想让标签更大,但随后它们开始重叠。因此,我想将标签分成两列,如图所示,因此它们可以更大。有没有办法在ggplot中这样做?我试过vjust和hjust,但他们似乎只接受适用于所有标签的1个参数。
当前标签:
目标标签:
答案 0 :(得分:4)
嗯,没有明显的参数负责,至少AFAIK。
但是,为了您的具体目标,我首先想到的是为数字标签添加一些空格。
avoid_overlap <- function(x)
{
ind <- seq_along(x) %% 2 == 0
x[ind] <- paste0(x[ind], " ")
x
}
ggplot(mtcars, aes(cyl, mpg)) + geom_point() +
scale_y_continuous(breaks = 10:35, labels = avoid_overlap(10:35)) +
theme(axis.text.y = element_text(size = 32))
如果网格过于密集,则通过theme
使用网格线(次要/主要)进行播放。