拆分beeswarm 2

时间:2018-04-10 21:22:04

标签: r ggplot2

这是对最后一个问题的跟进: Split beeswarm plot

我认为这是一个新问题,因为我的第一个问题得到了充分的回答。但是根据我的真实数据,突然出现了一种我不理解的奇怪行为。

使用之前的数据框

my_dat <- data.frame(x = 'x', m = rep(c('a','b'),100), y = rnorm(200))

建议的解决方案很好用。但是当我稍微提高我的数据时(只是增加样本量!),情节变得很奇怪:

my_dat <- data.frame(x = 'x', m = letters[1:2], y = sample(0:100, 2000, replace = T), stringsAsFactors = F)

require(ggplot2)
require(ggbeeswarm)
require(dplyr)

p <- ggplot(my_dat, aes(x,y,color=m))+  ## this is copy/paste from @Jimbou's great idea. 
  geom_quasirandom(method = 'smiley')

p <- ggplot_build(p)

p$data[[1]] <-   p$data[[1]] %>%
  mutate(x=case_when(
    colour=="#00BFC4" ~ PANEL + abs(PANEL - x),
    TRUE ~ PANEL - abs(PANEL - x))
  )
plot(ggplot_gtable(p))

enter image description here

为什么这会随着样本量的增加而发生?

1 个答案:

答案 0 :(得分:1)

好的,我希望这值得自我回答。

它与分配点的方法有关。改变这个:

2.17.0.windows.1

enter image description here

猜猜我必须阅读有关这些方法的更多信息。