ggsurvplot - 在0,0处交叉的轴

时间:2017-05-17 12:28:35

标签: r ggplot2 survival-analysis

Survminer会产生很好的情节,但有没有办法通过常规ggplot命令进一步改变结果?

我尝试做的是让y轴在原点开始,如here所述。 对于常规的ggplot,这很有效,但我不能让它与幸存者一起工作:

library(survival)
library(survminer)

df<-genfan
df$treat<-sample(c(0,1),nrow(df),replace=TRUE)


fit <- survfit(Surv(hours, status) ~ treat,
               data = df)

p<-ggsurvplot(fit, data = df, risk.table = TRUE,,ncensor.plot=FALSE,tables.theme = theme_cleantable(),
              ggtheme = theme_survminer(font.legend=c(12,"bold","black") ))


p%+%scale_x_continuous(expand=c(0,0))%+%scale_y_continuous(expand=c(0,0))

这会产生错误

  

&#34;缩放&#39; y&#39;已经存在了。为&#39; y&#39;添加另一个比例,它将取代现有比例。&#34;

以及其他错误

  

&#34;错误:提供给连续刻度的离散值&#34;

有什么方法吗?

1 个答案:

答案 0 :(得分:2)

问题的可能解决方案是修改ggsurvplotggrisktable在适当的位置插入expand=c(0,0)
在此link,您可以找到我的提案。
点击&#34;下载&#34;并将文件a_modified_ggsurvplot.txt保存在您的工作目录中 然后运行以下代码:

library(survival)
library(survminer)

df <- genfan
df$treat <- sample(c(0,1),nrow(df),replace=TRUE)
fit <- survfit(Surv(hours, status) ~ treat, data = df)

source("a_modified_ggsurvplot.txt")
p <- myggsurvplot(fit, data = df, risk.table = TRUE,
     ncensor.plot=FALSE,tables.theme = theme_cleantable(),
     ggtheme = theme_survminer(font.legend=c(12,"bold","black")))
print(p)

这是情节: enter image description here

希望它可以帮助你。