【发布时间】:2012-03-28 14:10:21
【问题描述】:
我的数据如下所示:
> print(dat)
cutoff tp fp
1 0.6 414 45701
2 0.7 172 16820
3 0.8 51 4326
4 0.9 49 3727
5 1.0 0 0
我想以从最小的dat$tp 到最大的倒序绘制它们。
但是,此代码按上面的顺序(即从最大到最小)绘制它们。
> fp_max <- max(dat$fp);
> tp_max <- max(dat$tp);
> op <- par(xaxs = "i", yaxs = "i")
> plot(tp ~ fp, data = dat, xlim = c(0,fp_max),ylim = c(0,tp_max), type = "n")
> with(dat, lines(c(0, fp, fp_max), c(0, tp, tp_max), lty=1, type = "l", col = "black"))
> lines( par()$usr[1:2], par()$usr[3:4], col="red" )
如何修改上面的代码来解决问题?
当然,x轴和y轴坐标应该是从最小值到最大值
以下显示了我当前代码的结果。
请注意,这条线从 0,0 开始,然后又“返回”到 0。 我们希望避免它回到 0。
【问题讨论】:
-
我对你想要的输出感到困惑——不管行的顺序是什么,
(fp,tp)图总是看起来像从 (0,0) 向上的对角线向右?例如在绘图上绘制 (0,0) 和 (1,1) 的顺序无关紧要;这条线看起来还是一样的。 -
@mathematical.coffee:我用图更新了 OP。它澄清了吗?