【问题标题】:Set line alpha when plotting multiple roc curves (in same color) with plotROC使用 plotROC 绘制多条 roc 曲线(相同颜色)时设置线 alpha
【发布时间】:2018-10-06 04:52:40
【问题描述】:

我正在用 plotROC 绘制我的 ROC 曲线。下面是示例代码。我需要用相同的颜色绘制多条 roc 曲线。我发现我需要在aes 中使用alpha。现在我需要控制曲线的透明度。在geom_roc 中使用alpha 不起作用。有谁知道我能做什么?非常感谢。

D.ex <- rbinom(50, 1, .5)
rocdata <- data.frame(D = c(D.ex, D.ex), 
                   M = c(rnorm(50, mean = D.ex, sd = .4), 
                         rnorm(50, mean = D.ex, sd = 1)), 
                   Z = rep(c('A', 'B', 'C', 'D', 'E'), each=20) )
library(plotROC)
ggplot(rocdata, aes(m=M, d=D, alpha=Z)) + 
            geom_roc(cutoffs.at = NULL, n.cuts=0, color='blue')+
            theme(legend.position="none")

【问题讨论】:

    标签: r ggplot2 roc


    【解决方案1】:

    对于plotROC::geom_rec,您必须使用linealpha 参数设置alpha(不在aes 内)。但要使其正常工作,您还需要指定线路组。通常在ggplot2 中使用group = Z 完成,但在geom_rec 中不起作用。快速解决方案是通过Z (color = Z) 设置颜色,并使用scale_color_manual 设置相同的颜色。

    library(plotROC)
    ggplot(rocdata, aes(m = M, d = D, color = Z)) + 
        geom_roc(cutoffs.at = NULL, n.cuts = 0, linealpha = 0.5) +
        scale_color_manual(values = rep("black", length(unique(rocdata$Z)))) +
        theme(legend.position = "none")
    

    【讨论】:

      猜你喜欢
      • 2017-06-09
      • 2019-02-27
      • 2016-09-11
      • 2019-09-16
      • 2021-03-03
      • 1970-01-01
      • 1970-01-01
      • 2020-08-15
      • 2019-02-05
      相关资源
      最近更新 更多