如何在已经使用闪避时向 geom_point 添加抖动

How to add jitter to geom_point when already using dodge

我正在个人 geom_points 面前绘制汇总统计数据,但无法弄清楚如何向图中添加抖动。我认为问题是我已经在使用位置参数将高水位点和低水位点彼此远离。

    waterSymPop_p <- ggplot(aes(x = SymPop, y = Finish, fill = Water, color = Water), data = xanFull) +
  geom_point(position = position_dodge(width = 0.9)) +
  stat_summary(fun.data = "mean_cl_normal", geom = "pointrange", position = position_dodge(width = 0.9)) +
  coord_flip()

这是生成的情节(显然还没有完成配色方案等)

我希望点在每个点组内稍微抖动(即,不在一条直线上)。感谢您的帮助!


答案:使用position_jitterdodge

修改后的代码和新图:

ggplot(aes(x = SymPop, y = Finish, fill = Water, color = Water), data = xanFull) +
  geom_point(position = position_jitterdodge(dodge.width = 0.9, jitter.width = 0.2)) +
  stat_summary(fun.data = "mean_cl_normal", geom = "pointrange", position = position_dodge(width = 0.9)) +
  coord_flip()

Drey 回答了这个问题。

答案:使用position_jitterdodge

修改后的代码和新图:

ggplot(aes(x = SymPop, y = Finish, fill = Water, color = Water), data = xanFull) +
  geom_point(position = position_jitterdodge(dodge.width = 0.9, jitter.width = 0.2)) +
  stat_summary(fun.data = "mean_cl_normal", geom = "pointrange", position = position_dodge(width = 0.9)) +
  coord_flip()