一个带抖动的箱线图,另一个不带抖动的箱线图

时间:2020-05-20 16:18:00

标签: r ggplot2 boxplot jitter

我想有一个带有两个箱形图的视图,但是其中只有一个具有抖动的数据点。我可以在下面创建viz,但是希望“ non-jit”没有数据点。感谢您的帮助!

Amount = c(runif(20,1,100),5,25,50,75,90,(runif(20,1,100)),5,25,50,75,90)
Level = c(rep(1,25),rep(2,25))
Description = c(rep("jit",20),rep("non-jit",5),rep("jit",20),rep("non-jit",5))

Jitter = data.frame(Level,Description,Amount)
names(Jitter) = c("Level", "Description", "Amount")
View(Jitter)

Jitter$Description = factor(Jitter$Description, levels = c("jit", "non-jit"))
Jitter$Level = factor(Jitter$Level, levels = c("1", "2"))

ggplot(Jitter, aes(x=Amount, y = Description))+
  geom_boxplot()+
  geom_point(position = position_jitter())+
  facet_grid(Level~.)

boxplots

1 个答案:

答案 0 :(得分:3)

如果我了解您,我们只需对传递给geom_point的数据进行调整即可。默认情况下,geom_point继承了aes中定义的ggplot。通过过滤数据,我们只需传递想要绘制的点

ggplot(Jitter, aes(x=Amount, y = Description))+
  geom_boxplot()+
  geom_point(data = Jitter %>% filter(Description != "non-jit"), 
             position = position_jitter())+
  facet_grid(Level~.)

enter image description here