Цветовая схема в отдельном фрейме данных

#r #ggplot2

#r #ggplot2

Вопрос:

Я могу указать цвета на графике, используя scale_color_manual, как показано ниже:

 library(tidyverse)
mpg %>% 
filter(class=="2seater"|class=="minivan")%>%
ggplot(aes(displ, hwy,colour=class))   
  geom_point() 
  scale_color_manual(values=c(
    "2seater"="green",
    "minivan"="red"))
 

Но если бы у меня был отдельный фрейм данных, как показано ниже:

 class<-c("2seater","minivan")
color<-c("green","red")
colorscheme<-data.frame(class,color,stringsAsFactors = FALSE)
 

Как я могу использовать это, чтобы указать цвета в ggplot?

Ответ №1:

 mpg %>% 
  filter(class %in% c("2seater", "minivan")) %>%
  ggplot(aes(displ, hwy, color = class))   
  geom_point()   
  scale_color_manual(values = colorscheme$color, 
                     labels = colorscheme$class)
 

Ответ №2:

Другой вариант может быть scale_color_identity() после объединения:

 library(tidyverse)
#Code
mpg%>%filter(class=="2seater"|class=="minivan")%>%
  left_join(colorscheme) %>%
  ggplot(aes(displ, hwy,colour=color))   
  geom_point() 
  scale_color_identity(guide = "legend",
                       labels=c("2seater","minivan"),name='class')
 

Вывод:

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