图中的颜色规格

时间:2012-08-23 03:13:00

标签: r

我正在使用Epi包中的ROC函数,其文档指定您可以将图形参数传递给绘图函数。默认情况下,ROC生成灰度图。我试图只将ROC曲线本身(锯齿状线)染成红色。

这是我试过的:

    x = rnorm(100)
    y = c(rep(0,50), rep(1,50))

    library(Epi)

    par(col="red"); ROC(form = y~x, plot="ROC")

这会创建一个颜色不一致的奇怪图形。 par文档确实描述了一些特定的方法,如col.lab和col.axis,以对特定的图形元素进行着色,但不包括主线颜色的参数。

我必须认为这个基本问题必须在其他地方得到解决,但到目前为止还没有运气搜索R文档和谷歌。

1 个答案:

答案 0 :(得分:1)

对于您的具体情况,如果您想修改功能ROC以满足您的需求,您可以执行以下操作。在控制台中键入ROC以查看ROC的代码。将其复制并粘贴到文件中,并为其指定一个新名称,例如ROC2。查找以下代码:

if (any(!is.na(match("ROC", toupper(plot))))) {
        plot(1 - res[, 2], res[, 1], xlim = 0:1, xlab = "1-Specificity", 
            ylim = 0:1, ylab = "Sensitivity", type = "n", ...)
        if (is.numeric(grid)) 
            abline(h = grid/100, v = grid/100, col = gray(0.9))
        abline(0, 1, col = gray(0.4))
        box()
        lines(1 - res[, 2], res[, 1], lwd = lwd)

您需要在col = "red"来电中传递lines或其他类似内容。例如,您可以向函数本身添加mycol参数,然后将该行更改为:

lines(1 - res[, 2], res[, 1], lwd = lwd, col = mycol)

另外,正如我在下面提到的,您还必须将ROC.tic的所有实例更改为Epi:::ROC.tic