当图的限制固定时,ggplot2中的抖动点

时间:2019-01-29 06:44:28

标签: r ggplot2 jitter

我有一个ggplot,它在scale_x_continuous中设置了固定标签和固定限制。然后当我要应用抖动时出现问题:

library(ggplot2)

dat <- data.frame(
  x = rep(c(1, 2), 5),
  y = 1:10
)

gg <- ggplot(dat, aes(x,y)) + geom_jitter(width = 0.5)
gg + 
  scale_x_continuous(breaks = pretty(dat$x), limits = c(1,2))

enter image description here

问题在于,抖动点不会出现在限制范围之外。有没有办法使这些点抖动,以便更新限制?还是我必须根据抖动宽度手动更新限制?

1 个答案:

答案 0 :(得分:2)

也许可以通过在ggplot之前应用抖动来解决此问题,以使抖动后的数据可以定义您的轴:

library(dplyr)
dat2 <- dat %>%
  mutate(x2 = jitter(x, amount = 0.3))

ggplot(dat2, aes(x2,y)) + 
  geom_point() + 
  scale_x_continuous(breaks = pretty(dat2$x2), 
                     limits = range(dat2$x2))

enter image description here