【发布时间】:2014-09-03 08:05:06
【问题描述】:
我正在 ggplot2 中绘制一个图,其中在 y 轴上我有组的索引,在 x 轴上有一些信息。为了便于阅读,我想让标签更大,但随后它们开始重叠。因此,我想将标签分成如图所示的两列,以便它们可以更大。有没有办法在ggplot中做到这一点?我尝试了 vjust 和 hjust 但它们似乎只接受适用于所有标签的 1 个参数。
当前标签:
目标标注:
【问题讨论】:
我正在 ggplot2 中绘制一个图,其中在 y 轴上我有组的索引,在 x 轴上有一些信息。为了便于阅读,我想让标签更大,但随后它们开始重叠。因此,我想将标签分成如图所示的两列,以便它们可以更大。有没有办法在ggplot中做到这一点?我尝试了 vjust 和 hjust 但它们似乎只接受适用于所有标签的 1 个参数。
当前标签:
目标标注:
【问题讨论】:
嗯,没有明显的参数负责,至少 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 使用网格线(次要/主要)。
【讨论】: