如何自定义geom_text中映射变量的颜色?

问题描述

我想自定义default_binary变量映射到geom_text中的颜色。使用对scale_fill_manual有效的geom_bar进行了尝试,但是没有任何反应。有任何想法吗?最终添加了有关rn的链接。[1]

ggplot(DATA) +
  geom_text(aes(x = recession_binary,y = percents,label = percents,color = default_binary)) +
  scale_fill_manual("",values = c("Default" = rgb(232/255,74/255,39/255),"Paid in full" = rgb(19/255,41/255,75/255)))

简单地说,我只想用上面的rgb表示的蓝色和橙色代替粉色和绿色(顺序无关紧要): [1]:https://i.stack.imgur.com/Dxzsk.png

解决方法

按照上面的建议,将scale_color_manual更改为scale_color_manual,您将获得所需的结果。 geom_text不具有fill的美感。

library(tidyverse)
#> Warning: package 'tidyverse' was built under R version 3.6.3
#> Warning: package 'ggplot2' was built under R version 3.6.3
#> Warning: package 'tibble' was built under R version 3.6.3
#> Warning: package 'readr' was built under R version 3.6.3
#> Warning: package 'purrr' was built under R version 3.6.3
#> Warning: package 'dplyr' was built under R version 3.6.3
#> Warning: package 'stringr' was built under R version 3.6.3
#> Warning: package 'forcats' was built under R version 3.6.3
mpg %>% 
  filter(class %in% c('compact','minivan'),cyl %in% c(4,6)) %>% 
  group_by(class,cyl) %>% 
  summarise(cty= mean(cty)) %>% 
  ggplot(aes(class,cty,color=as_factor(cyl),label= cyl) ) +
  geom_text()+
  scale_color_manual(values = c(rgb(232/255,74/255,39/255),cty= rgb(19/255,41/255,75/255)))
#> `summarise()` regrouping output by 'class' (override with `.groups` argument)

reprex package(v0.3.0)于2020-10-12创建