我目前遇到了一个问题,在survminer的rmarkdown块输出中出现了空白图形。请看下面的图片。

它使输出变得困难,因为它在试图创作报告时包含一个巨大的空白空间。

我一直在调查这个问题,我已经将其范围缩小到与打印'newpage‘的争论有关-

我的问题是-有人能解释这里到底发生了什么吗?-为什么会有一个‘空白’绘图,我怎么能不显示它?-当我为第一个绘图设置newpage =F,为第二个绘图设置newpage =T而不显示空白页面时,到底发生了什么?-有没有其他方法可以不显示第一个空白绘图?
谢谢!
编辑:
可重现的例子:
require(survminer)
require(survival)
Data <- data.frame(
X = sample(1:30),
Y = sample(c(1,0), 30, replace = TRUE),
Z = sample(c(1,0), 30, replace = TRUE)
)
ggsurvplot(
survfit(Surv(Data$X, Data$Y) ~ Data$Z),
risk.table = T,
break.time.by = 12,
risk.table.fontsize = 3,
font.tickslab = 10,
font.x = 11,
xlab = 'Time (Months)',
font.y = 11,
font.main = 11,
legend = c(0.8, .9),
legend.title = '',
risk.table.height = .20,
risk.table.title = element_blank(),
censor = F,
pval = T,
pval.coord = c(6, .00),
pval.size = 4,
surv.scale = 'percent',
risk.table.y.text = F,
palette = 'Set1'
)发布于 2017-07-20 23:29:24
为了打印没有前导空白图的生存图,只打印ggsurvplot()返回的plot对象。例如,
library(survival)
library(survminer)
fit <- survfit(Surv(time, status) ~ sex, data = lung)
p <- ggsurvplot(fit, data = lung)
print(p$plot)发布于 2020-07-20 06:18:35
这似乎对我很有效:
plot.new()
print(p,newpage = FALSE)如果图中有风险表,这也是可行的。这种解决方案比其他人建议的先执行plot(p$plot),然后执行plot(p$table)要好,因为表和图保持了良好的对齐。
https://stackoverflow.com/questions/42479112
复制相似问题