Установите линию альфа при построении нескольких кривых roc (одного цвета) с plotROC - PullRequest
0 голосов
/ 06 октября 2018

Я строю свои кривые ROC с помощью plotROC.Ниже приведен пример кода.Мне нужно построить несколько кривых Рока с тем же цветом.Я обнаружил, что мне нужно использовать alpha в aes.Теперь мне нужно контролировать прозрачность моих кривых.Использование alpha в geom_roc не работает.Кто-нибудь знает, что я могу сделать?Большое спасибо.

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")

1 Ответ

0 голосов
/ 06 октября 2018

Для plotROC::geom_rec необходимо установить alpha с аргументом linealpha (не в пределах 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")

enter image description here

...