如何移除R哑铃图facet_wrap分面重复y轴刻度标签以腾出绘图空间
R ggplot分面哑铃图隐藏右侧列y轴标签优化方案
你可以直接利用已加载的ggh4x包提供的facet_wrap2()函数实现需求,仅需要替换原有代码中的分面部分即可,无需额外调整其他配置。
核心修改点
- 替换原生
facet_wrap()为ggh4x的facet_wrap2() - 新增
axes = "all_x"参数:保留所有分面的x轴,仅在最左侧列显示y轴 - 新增
remove_labels = "y"参数:自动移除右侧列分面的y轴刻度标签,腾出绘图空间
完整修改后代码
library(ggplot2) library(dumbbell) library(ggh4x) data10A$key <- paste(data10A$Trial_type, data10A$Session, sep = "\n") dumbbell::dumbbell(data10A, id = "conditon2", key = "key", leg = "Test", column1 = "NormalizedJerk_102", column2 = "NormalizedJerk_104", delt = 1, lab1 = "Pre-test", lab2 = "Post-test", p_col1 = "black", p_col2 = "grey40", textsize = 4, segsize = 1.5, pointsize = 2.5, title = "Change in Normalized jerk from Pre- to Post-test") + # 替换原来的facet_wrap为以下代码 facet_wrap2(~ key, scales="free", ncol=2, axes = "all_x", remove_labels = "y") + theme(axis.text.x = element_text(size = 12, face = "bold"), axis.text.y = element_text(size = 11, face = "bold"), legend.position = "right", legend.text = element_text(size = 12), legend.title = element_text(size = 14), strip.text = element_text(face = "bold", size = 14, color = "black"))
如果你的x轴范围所有分面都一致,也可以把scales="free"改为scales="free_y",进一步压缩冗余空间。
内容的提问来源于stack exchange,提问作者Reuben Newton Addison
相关产品推荐
相关产品推荐

