ggplot2 每个主要中断的次要中断的整数倍

Jam*_*ers 4 r ggplot2

这个答案展示了如何指定小中断应该去的位置。在文档中它说这minor_breaks可以是一个函数。然而,正如我预期的那样,这将绘图限制作为输入,而不是下方和上方主要网格线的位置。

制作一个能让我返回每个专业 4 个辅修课程的脚本似乎并不简单。这是我想做的事情,因为我有一个想要在多个不同数据集上使用的脚本。我事先不知道限制,所以我无法对它们进行硬编码。我当然可以创建一个函数,在绘图之前从数据集中获取我需要的值,但这似乎有点矫枉过正。

有没有通用的方法来说明每个主要中断的次要中断数量?

Eri*_*att 6

您可以从绘图中提取专业,然后计算您想要的辅修并将其设置为您的绘图。

df <- data.frame(x = 0:10,
                 y = 0:10)
p <- ggplot(df, aes(x,y)) + geom_point()

majors <- ggplot_build(p)$panel$ranges[[1]]$x.major_source
multiplier <- 4
minors <- seq(from = min(majors),
              to = max(majors),
              length.out = ((length(majors) - 1) * multiplier) + 1)
p + scale_x_continuous(minor_breaks = minors)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述