使用scale_x_continuous修改ggsurvplot轴刻度触发非数值参数错误
解决ggsurvplot添加x轴刻度报错的问题
错误原因
ggsurvplot()返回的是ggsurv类复合对象,而非普通ggplot对象,直接使用+运算符会触发方法冲突,导致报错。
快速解决:修改现有绘图对象
直接访问ggsurvplot结果中的$plot字段(这是核心的ggplot对象),再添加x轴刻度设置:
PLOT$plot + scale_x_continuous(breaks = seq(0, 120, 24))
更规范的方式:整合到主绘图代码
可以通过ggsurvplot()的ggplot.args参数,直接将刻度设置嵌入主代码,无需后续修改。同时注意修正你原代码中的语法错误(legend.labs行多了一个右括号,导致ggtheme未被纳入函数参数):
PLOT <- ggsurvplot( flysurv, data = FlyData, size = 1, palette = c(iwanthue(20)), conf.int = TRUE, legend.labs = levels(Gtype), # levels本身是向量,无需额外套c() ggtheme = theme_bw() + theme(axis.title.x = element_text(size = 15), axis.title.y = element_text(size = 12), panel.grid.major = element_blank(), panel.grid.minor = element_blank(), plot.title = element_text(size = 17), legend.text = element_text(size = 13), legend.title = element_text(size = 14) ), # 嵌入x轴刻度设置 ggplot.args = list(scale_x_continuous(breaks = seq(0, 120, 24))) ) PLOT
内容的提问来源于stack exchange,提问作者Crawdaunt
相关产品推荐
相关产品推荐

