ggsignif为数值x轴ggplot绘图报错「仅支持x轴为分组变量」如何解决
解决方案
核心原因
geom_signif()默认适配分类x轴场景,当检测到x轴为数值型时,会因为无法匹配预设的分组规则触发报错,无需转换x轴为因子,只要开启手动标注模式即可解决。
修复后可运行代码
library(tidyverse) library(ggsignif) dat <- structure(list( SOA = c(50, 150, 300, 900), y = c(119, 121, 132, 209)), row.names = c(NA,-4L), class = c("tbl_df", "tbl", "data.frame") ) dat %>% ggplot(aes(SOA, y)) + geom_point() + geom_signif( manual = TRUE, # 开启手动标注模式,适配数值型x轴 annotations = "*", y_position = 150, xmin = 50, xmax = 300)
补充说明
- 如果需要同时添加多个显著性标记,只需将
annotations、y_position、xmin、xmax参数传入对应长度的向量即可,示例:
geom_signif( manual = TRUE, annotations = c("*", "**"), y_position = c(150, 220), xmin = c(50, 150), xmax = c(300, 900) )
- 该方案保留了x轴的数值属性,各观测点的间距完全符合真实数值差异,满足绘图需求。
内容的提问来源于stack exchange,提问作者Mateus
相关产品推荐
相关产品推荐

