линия geom: установите цвет вручную для сгруппированных переменных

У меня есть набор данных с тремя столбцами, как показано ниже

data_sample<-data.frame(value=c(-3,-2,-1,-0.9,-1.25,1.0,2.1,1.9,1.2,1.5),
BP=c(1000,2000,5000,8000,10000),variable=c(rep("overall_diff_cases",5),rep("overall_diff_controls",5)))

где BP — это базовая пара, для каждой позиции в столбце переменной есть значение: total_diff_controls и total_diff_cases. Я заинтересован в создании графика geom_line ggplot с использованием этих точек.

ggplot(data_sample, aes(x=BP, y=value, group =variable,color=variable)) +
scale_fill_manual(values= c("overall_diff_cases"="#9633FF" ,"overall_diff_controls"="#E2FF33")) + geom_line(size=1.2)

Если я использую приведенный выше код, ggplot создает график с цветом по умолчанию. Я пробовал с цветовым кодом (не шестнадцатеричный)

scale_fill_manual(values= c("overall_diff_cases" = "red" , "overall_diff_controls" = "black"))

Я пытался настроить setNames, но тщетно:

ggplot(data_sample, aes(x=BP, y=value, group = variable,color=variable)) +
scale_fill_manual(values=setNames(c("overall_diff_cases","overall_diff_controls"), c( "black","red"))) +
 geom_line(size=1.2)
 

Как установить цвета моих интересов? Формат данных должен оставаться таким, как показано в том же фрейме данных.


person Death Metal    schedule 17.08.2020    source источник


Ответы (1)


Попробуй это:

library(ggplot2)

ggplot(data_sample, aes(x=BP, y=value,
                        group =variable,color=variable)) +
  scale_color_manual(values= c("overall_diff_cases"="#9633FF" ,
                               "overall_diff_controls"="#E2FF33")) + geom_line(size=1.2)

Выход:

введите здесь описание изображения

С помощью scale_color_manual() вы можете установить нужные цвета.

person Duck    schedule 17.08.2020