使用emmeans包绘制GLMM估计均值图时如何交换XY坐标轴
实现坐标轴互换的方法
直接在现有绘图代码的图层叠加链中加入coord_flip()即可完成x、y轴互换,该函数会自动适配几何对象的方向:原本垂直的置信区间误差线会自动转为水平,点的位置也会同步映射到新的坐标轴上,和预期绘图效果一致。
现有代码中提前设置的labs(x = 'Response', y = 'Treatment')轴标签会在坐标轴翻转后自动匹配到正确位置,不需要额外修改标签映射。
修改后的完整绘图代码
emm1 = emmeans(mode1A, ~ treatment3, type="response") emm1df = as.data.frame(emm1) plot(emm1) + geom_point(size=2.2)+ labs(x = 'Response', y = 'Treatment') + scale_shape_manual(NULL, values = 18) + theme(legend.title = element_text(size = 25,color = "black"), legend.text = element_text(size = 25,color = "black"), axis.title = element_text(size = 25,color = "black"), axis.text.x = element_text(color = "black", hjust=1), axis.text.y = element_text(color = "black", hjust=1), axis.text = element_text(size = 25,color = "black"), plot.title = element_blank(), strip.text.x = element_text(size = 15,color = "black")) + # 新增坐标轴翻转图层 coord_flip()
可选优化调整
- 若需要翻转y轴上处理组的排列顺序,可追加
scale_y_discrete(limits = rev)图层 - 若需要调整误差线粗细、点的位置偏移,可直接在
plot(emm1, ...)中传入对应参数(如lwd = 1.2调整线宽)
内容的提问来源于stack exchange,提问作者user55546
相关产品推荐
相关产品推荐

