0

我有一个ggplot带有固定标签和固定限制的scale_x_continuous. 那么我想应用jitter的时候就出现了问题:

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))

在此处输入图像描述

问题是抖动点没有出现在限制之外。有没有办法抖动点以便更新限制?还是我必须根据抖动宽度手动更新限制?

4

1 回答 1

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))

在此处输入图像描述

于 2019-01-29T07:03:04.430 回答