结合scale_y_sqrt()和限制会丢弃第一个y轴中断

时间:2014-07-16 09:31:26

标签: r ggplot2

我想结合

  • y轴sqrt scale和
  • 设置y轴限制。

问题是,scale_y_sqrt( limits = c(0,10))会导致y轴失去第一个中断(0)。

如何重写此内容以获得所需的结果?


R代码最小示例:

library(ggplot2)
library(grid)
library(gridExtra)

N <- 10
test_data <- data.frame(
  idx  <- 1:N,
  vals <- runif( N, min = 0, max = 10)
)

grid.arrange(
  ggplot( test_data, aes(x = idx)) + 
    geom_line( aes(y = vals)) + 
    scale_y_continuous( limits = c(0,10)),
  ggplot( test_data, aes(x = idx)) + 
    geom_line( aes(y = vals)) + 
    scale_y_sqrt( limits = c(0,10)),
  ncol = 2
)


情节输出: Plot output of above source

  • 左图具有正确的轴断点,但没有sqrt scale
  • 右图有正确的缩放,但错过了'0' - 中断

1 个答案:

答案 0 :(得分:1)

这似乎是一个已知问题。请参阅the GitHub discussion,其中也提供了一些解决方法。