对于我的生活,我不知道为什么会发生这种情况。简单来说,下面的代码运行良好:
PLOT<-ggsurvplot(
flysurv,
data = FlyData,
size = 1,
palette = c(iwanthue(20)),
conf.int = TRUE,
legend.labs = c(levels(Gtype)))
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)
)
PLOT
但是我尝试使用scale_x_continuous重新定义轴刻度,以每24个刻度给予从0到120的x轴刻度。示例:
PLOT + scale_x_continuous(breaks=seq(0,120,24))
这会产生以下错误:
Error in PLOT + scale_x_continuous(breaks = seq(0, 120, 24)) :
non-numeric argument to binary operator
In addition: Warning message:
Incompatible methods ("+.ggsurv", "+.gg") for "+"
只是遵循一个指南,他们说“这应该工作”,它没有,我还没有找到一个问题,在StackOverflow适用于这里,除了有人与一个简单的“挂+”错字...很高兴在这里得到额外的提示。就像...我能不能直接把它放到ggplot的主情节代码中,这样它就不会在之后作为这个尴尬的附加组件输入了?从美学上讲,我喜欢整个情节代码被 Package 在相同的括号中......
1条答案
按热度按时间eit6fx6z1#
根据文档,
ggsurvplot()
返回值不是ggplot对象。虽然有一个$plot
属性,我们可以修改它:创建于2023-05-23带有reprex v2.0.2
(虽然你确实有一个错字,它很整洁地创建了一个新的
ggtheme
对象,但它并没有导致你看到的错误,我不太同意关闭投票;虽然你应该注意到你没有得到bw主题,仍然有旧的大小为文本和标题)