在ggplot中间隙Y轴

时间:2018-02-10 19:55:28

标签: r ggplot2

我有下面的ggplot图,大多数Y值在0-200之间,一个值~3000:

enter image description here

我希望“缩放”大多数值,但仍显示高值 我写了以下代码:

>>

有人知道如何实现这个目标吗?

1 个答案:

答案 0 :(得分:2)

可以通过facet_grid的帮助找到可能的解决方案。我没有来自OP的确切数据,但方法应该是考虑在范围内对y-axis进行分组。 OP已提及0 - 200的值为~3000Number两个范围。

因此,我们可以选择将Number除以2000,将其转换为代表2组的因子。这意味着factor(ceiling(Number/2000))将创建两个因素。

让我们采用与OP类似的数据并尝试我们的方法:

# Data
count_df <- data.frame(ng = 1:30, Number = sample(200:220, 30, TRUE))
# Change one value high as 3000
count_df$Number[20] <- 3000

library(ggplot2)

ggplot(data = count_df, aes(x=ng, y=Number)) + 
            geom_point() + 
            facet_grid(factor(ceiling(Number/2000))~., scales = "free_y") +
            ggtitle("start VS Number") + 
            xlab(expression(paste("start " , mu, "l")))

enter image description here