【问题标题】:Getting plot boundaries in R在 R 中获取绘图边界
【发布时间】:2012-01-08 16:52:30
【问题描述】:

我的问题:如何找到地块区域的边界?

我正在使用 plotHR 函数从 cox 回归中绘制样条曲线。我做了一些调整,发现here 和密度图让我很恼火,所以我希望能够将其更改为简单的正多边形,而无需使用第二个图。问题是,一旦中等大小发生变化,第二个地块就需要重新定位。

现在我知道我可以将 plot_boundaries.y 和 plot_boundaries.x 与限制一起使用并添加 xaxs/yaxs 信息,但这似乎不是最直观的方法。有没有一种简单的方法可以让我的图左下 x,y 和右上 x,y?

以下是如何使用 plotHR 的示例:

library(survival)

hmohiv<-read.table("http://www.ats.ucla.edu/stat/R/examples/asa/hmohiv.csv", sep=",", header = TRUE)

surv <- with(hmohiv, Surv(time, censor))
fit <- coxph(surv~ pspline(age), data=hmohiv)
par(xaxs="i", yaxs="i")
plotHR(fit, bty="l", ylim=c(.4, 5), y.ticks=c(.5, 1, 1.5, 2, 3, 4), xlim=c(25, 55))

【问题讨论】:

  • ?par,尤其是par("usr")
  • @joran 为了将来发生的其他人的利益,您能否澄清为什么plotHR() 的边界问题与plot() 边界的问题重复?我不了解plotHR,但my experience with ggplot2 让我不愿意假设情节边界是微不足道的。 :)
  • @Iterator 我的理由很简单,在 基本图形 中找到绘图边界的方法是使用 par("usr"),正如 Ben 所说的那样;所以(几乎)任何关于在基本图形中查找绘图区域边界的问题基本上都是相同的,并且将有相同的答案,而不管具体功能如何。 lattice 和 ggplot 都使用网格图形,其工作方式略有不同。
  • @MaxGordon par 中的大部分内容只有在您必须查找 5-6 次并了解它的存在后才能直观。不要担心被骗;由于您提到的原因,最好有一些重复:并非每个人都以相同的方式搜索事物。

标签: r


【解决方案1】:

如果您使用的是 pkg:survival(或任何依赖于基本图形的绘图函数,就像 yopu 现在在 greg 包中提供的 plotHR 函数一样),那么这应该可以工作:

plot(survfit(fit))
par("usr")
# [1]  0.0 62.4  0.0  1.0

“左下”x-y 点是par("usr")[c(1, 3)],右上角是par("usr")[c(2, 4)]。感谢您在 Greg 包中发布该功能。

【讨论】:

  • 谢谢。 plotHR 在我的问题中被链接,它是一种绘制样条曲线的小但非常整洁的方式。至少这是迄今为止我找到的最好的一个
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-10
  • 1970-01-01
  • 2018-02-14
  • 2021-04-02
  • 2021-12-04
  • 2013-09-07
  • 1970-01-01
相关资源
最近更新 更多