2

我有一个创建条形图的功能,如下所示:

my_bar_chart <- function(data, column, title, change_order=FALSE){
  out <-  data %>% 
    group_by({{column}}) %>% 
    summarize(count = n()) %>% 
    mutate(percent = count/sum(count),
           !! rlang::enquo(column) := if(change_order)
             reorder({{column}}, -count, FUN=identity) else {{column}} )
  ggplot(out, aes(x={{column}}, y=count, fill={{column}})) +
    xlab(title)+
    geom_col() +
    guides(fill=FALSE) + 
    geom_label(aes(label = paste0(round(100 * percent, 1), "%")))
}

my_bar_chart(d, audio_in_total, "EA5 Audio Inputs")

但是我的标签的背景颜色与列相同,并且难以阅读,我无法阅读它们。 在此处输入图像描述

我尝试添加这样的白色背景,但它不起作用(它添加了一个值为“白色”的图例):

geom_label(aes(label = paste0(round(100 * percent, 1), "%"), colour = "white"))

使标签背景变为白色的更好方法是什么?

我的数据有一列如下所示:

audio_in_total
0
1
0
2
0
4

1 回答 1

4

试着把电话放在fill外面aes()

geom_label(aes(label = paste0(round(100 * percent, 1), "%")), fill = "white")
于 2020-01-03T19:58:43.623 回答