保持geom_jitter在特定限制内

时间:2019-04-04 11:31:51

标签: r ggplot2 bar-chart limit jitter

我有一个因子具有5个等级(因子)和一个序数变量(1-7,李克特),我尝试使用原始数据进行绘制。我更喜欢透明条形图的点云,但是我愿意接受任何优雅的解决方案。我希望x轴从0-7开始,但仅允许从1-7开始抖动,因为这是我原始数据的范围。

我已经尝试设置限制,然后使用oob = scales :: censor或减小抖动的高度,但是没有解决方案似乎很好。

set.seed(1234)

likert <- sample(1:7, size=1000, replace=TRUE)
factor <- sample(1:5, size=1000, replace=TRUE)
Dat <- data.frame(factor=factor(factor),likert=likert)

Dat %>% 
  drop_na(factor)%>%
  ggbarplot(x = "factor", y = "likert", add = "mean_ci", 
            add.params=list(color = "black"), fill=NA, color="factor")+
  geom_jitter(aes(col=factor),position=position_jitter(width=.15,h=.25),
              alpha=0.4)+
  coord_cartesian(ylim=c(1,7)) + 
  scale_y_continuous(breaks=c(1:7), limits=c(1,7), expand=c(0,0), oob=scales::squish)

0 个答案:

没有答案