ggplot2 - 设置中断,无论 y 轴的范围如何

J. *_*Doe 0 r ggplot2

我想在 y 轴上设置中断,以便它们每 10 个单位出现一次。通常你会使用类似的东西:

p+
  scale_y_continuous(breaks = seq(0, 100, 10))
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用每天更新的数据集并且 y 轴的最大级别经常变化怎么办?我想找到一种解决方法,以便无论比例的最大值是多少,每 10 个单位就会出现一次中断。我想避免每隔几天就必须将函数100内部更改seq为其他数字。

Gre*_*gor 5

您可以指定breaks为数据的函数。这应该有效:

scale_y_continuous(breaks = function(z) seq(0, range(z)[2], by = 10))
Run Code Online (Sandbox Code Playgroud)

(我z在这里用它来说明它是一个匿名函数,参数的名称并不重要。)