echarts4r中如何给每个值设置固定颜色?

How to set fixed colors for each value in echarts4r?

我想绘制饼图并为每个值指定固定颜色。不幸的是,给 e_color() 函数一个命名列表是行不通的。有什么建议吗?

library(tibble)
library(echarts4r)

tibble(class=c("A", "B"), n=c(34,12)) %>%
e_charts(class) %>%
e_pie(n) %>%
e_color(color = c("A" = "red", "B" = "yellow"))

注意:我在闪亮的应用程序中使用饼图,其中 class 的值可以根据用户输入采用不同的值。有时只出现 class A,有时出现 A、B、C 等等,因此 class 的不同值的颜色应始终保持不变。

这应该有效

tibble(class=c("A", "B"), n=c(34,12)) %>%
e_charts(class) %>%
e_pie(n) %>%
e_color(color = c("red", "yellow"))

编辑:您可以为每个 class 创建一个带有颜色的数据框,并且根据 class 的值,您将获得固定的颜色

df_colours <- data.frame(class = LETTERS[1:4],
                         colours = c("red", "yellow", "blue", "green"))

df <- tibble(class=c("A", "B"), n=c(34,12))

colour <- df_colours %>%
  filter(class %in% df$class) %>%
  select(colours) %>%
  unlist() %>% 
  unname()


df %>%
  e_charts(class) %>%
  e_pie(n) %>%
  e_color(color = colour)