ggplot绘制按周分组、周内区分实验的箱线图方法
核心问题原因
当前代码的核心问题是没有将Experiment变量放入ggplot的美学映射aes()中,position_dodge2无法识别需要按什么变量对点进行分组偏移,才会出现所有点平铺的问题。直接在geom_point参数中调用BO$Experiment属于外部数据调用,不会被ggplot识别为分组依据。
调整后可直接运行的代码
k <- BO %>% ggplot(aes(x = Week, y = `Vertical Travel Distance (mm)`, shape = Experiment)) + geom_boxplot(aes(group = Week), width = 0.6) + geom_point(size = 2, alpha = 0.8, position = position_dodge2(width = 0.6)) + ylim(-80, 0)
可选优化项
- 如果你的
Week列为数值类型,可将x = Week改为x = factor(Week),让x轴按离散周节点展示,避免连续轴的间距异常 - 如需自定义不同实验的点形状,可添加
scale_shape_manual(values = c(16, 17, 18))自行指定形状编码
内容的提问来源于stack exchange,提问作者jmicciulla
相关产品推荐
相关产品推荐

