0

这是对先前提出的相关问题的跟进:使用 survplot 绘制处于风险中的主题时,数据和代码在此处出现错误消息

当试图将处于危险中的对象绘制在 survplot 下方时,表格要么与 x 轴的标签重叠,要么不出现在图上(在下面的示例中,缺少一行;totalps=4)。如何解决这个问题?

在此处输入图像描述

从文档到 survplot 命令,我知道我可能必须使用 par 命令重置绘图的边距(例如 par(mar=c(5,4,4,2)+.1)。)我没有不了解如何将此 par 命令包含到 survplot 中。

此外,表中关于处于危险中的对象的行之间有相当大的空间。有没有直接的方法来减少这个空间?

这里的情节代码:

library(rms)
pdf(plot1.pdf)
survplot(KM.Duration.totalps[-1], 
         xlab="duration in months", ylab="survival prob",
         conf="none",
         label.curves=list(method="arrow", cex=0.8),
         time.inc=12,
         col=c(1:4),
         levels.only = FALSE,                   
         n.risk=TRUE,
         y.n.risk = -0.3, cex.n.risk = 0.6
         )

dev.off()
4

2 回答 2

1

在绘图之前设置边距,如下所示:

par(mar=(0,0,0,0))
plot(c(1:10))

会给你一个没有边距的情节。par(mar=(1,2,3,4)将为您提供底部一行文本、左侧两行、顶部三行和右侧四行的边距。

如果要以英寸为单位指定边距,请使用par(mai=(x,x,x,x)). R 的默认值是输出设备是 7 x 7 英寸,尽管取决于设备(包括我写过的设备),这可能有点模糊。

于 2014-06-28T13:54:54.790 回答
1

只需阅读帮助页面:

sep.n.risk
y 上限的倍数 - 用于分隔包含有风险的主题数量的文本行的 y 下限。默认值为 .056*(ylim[2]-ylim[1])。

一些 par 函数最好在 plot 调用之前(但在 pdf() 调用之后)与 par 一起使用,所以:

pdf(...)
par( mar=c(7,4,4,2)+.1) ) # adds two lines to default space along bottom margin
survplot(...
于 2014-06-28T17:40:57.283 回答