Изменить цвета по умолчанию в ggplot для ярлыков по группам - PullRequest
0 голосов
/ 23 февраля 2020

У меня есть график, сделанный с помощью ggplot, где точки обозначены текстом «проекта» и цветом команды. Я хотел бы иметь возможность изменять цвета, назначенные каждой команде, так как цвета по умолчанию не очень разборчивы. Я попробовал большинство способов сделать это, я нашел в Интернете, но ни один из них не имел никакого эффекта.

Я включил весь код ниже - интерес представляет раздел «Ярлыки, окрашенные командой».

    projects.df <- data.frame(Doability = Projects$Doability, Impact = Projects$Impact)
ggplot(projects.df, aes(Doability,Impact)) + 
  #Coloured Quadrants
  annotate("rect", xmin = Inf, xmax = 0.5, ymin = Inf, ymax = 0.5, fill= "darkseagreen1")  + 
  annotate("rect", xmin = -Inf, xmax = 0.5, ymin = -Inf, ymax = 0.5 , fill= "azure1") + 
  annotate("rect", xmin = 0.5, xmax = Inf, ymin = 0.5, ymax = -Inf, fill= "lightyellow") + 
  annotate("rect", xmin = 0.5, xmax = -Inf, ymin = Inf, ymax = 0.5, fill= "mistyrose") + 
  geom_point() + xlim(0,1)+ ylim(0,1) +
  #Labels coloured by team
  geom_label(aes(label=Projects$Project), colour=factor(Projects$Team), fontface = "bold") + 
  #Axis arrows
  geom_segment(aes(x=-Inf,y=-Inf,xend=-Inf,yend=Inf),size=1.5, colour="darkred", arrow=arrow(length=unit(0.5,"cm"))) +
  geom_segment(aes(x=-Inf,y=-Inf,xend=Inf,yend=-Inf),size=1.5,colour="darkgreen", arrow=arrow(length=unit(0.5,"cm"))) + 
  theme(axis.text.x=element_blank(),axis.ticks.x=element_blank(), axis.text.y=element_blank(),axis.ticks.y=element_blank()) + 
  coord_cartesian(ylim = c(0, 1), clip="off") 

1 Ответ

0 голосов
/ 15 апреля 2020

Перемещение цвета внутрь вызова aes, согласно комментариям, решило проблему, и я мог бы назвать "scale_color_manual" [разделы # Ярлыки, окрашенные командой и #colours ниже].

projects.df <- data.frame(Doability = Projects$Doability, Impact = Projects$Impact) ggplot(projects.df, aes(Doability,Impact)) + #Coloured Quadrants annotate("rect", xmin = Inf, xmax = 0.5, ymin = Inf, ymax = 0.5, fill= "darkseagreen1") + annotate("rect", xmin = -Inf, xmax = 0.5, ymin = -Inf, ymax = 0.5 , fill= "azure1") + annotate("rect", xmin = 0.5, xmax = Inf, ymin = 0.5, ymax = -Inf, fill= "lightyellow") + annotate("rect", xmin = 0.5, xmax = -Inf, ymin = Inf, ymax = 0.5, fill= "mistyrose") + geom_point() + xlim(0,1)+ ylim(0,1) + #Labels coloured by team geom_label(aes(label=Projects$Project, colour=factor(Projects$Team), fontface = "bold")) + #Axis arrows geom_segment(aes(x=-Inf,y=-Inf,xend=-Inf,yend=Inf),size=1.5, colour="darkred", arrow=arrow(length=unit(0.5,"cm"))) + geom_segment(aes(x=-Inf,y=-Inf,xend=Inf,yend=-Inf),size=1.5,colour="darkgreen", arrow=arrow(length=unit(0.5,"cm"))) + theme(axis.text.x=element_blank(),axis.ticks.x=element_blank(), axis.text.y=element_blank(),axis.ticks.y=element_blank()) + coord_cartesian(ylim = c(0, 1), clip="off") + #Colours scale_colour_manual(values = cbp1) + labs(colour = "Team")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...