自定义Highchart Sankey图表中的颜色

时间:2020-09-30 09:54:03

标签: r sankey-diagram r-highcharter

我想为相同的源和目标创建2个固定颜色的sankey图表。

例如,在第一张图片中,FASS被分配为紫色,而在第二张图片中,其被分配为蓝色。

与目标类似,我希望在第一张和第二张图片中为PA分配相同的颜色。

enter image description here

enter image description here

了解颜色分配基于默认设置,但是我的数据框是基于source_units和target_units排序的。这是因为我希望Sankey图按降序排序。

我试图重新调整光源和目标的系数,并创建手动配色方案。然后,在hc_plotOptions()或hc_colors()下分配此手动配色方案,但是不起作用!

非常感谢您的帮助,谢谢。

data1 = tibble(
  source = c( "EN" , "EN" , "EN" , "FASS" , "FASS" , "FASS" , "SOC" ),
  target = c("ED" , "FI" , "PA" , "ED" , "FI" , "PA" , "LGL" ),
  value = c(49,71, 82,  218, 84, 110, 8),
  source_units = c(202 , 202 , 202 , 412 , 412 , 412 , 8 ),
  target_units = c(267 , 155 , 192 , 267 , 155 , 192 , 8 )
)

data2 = tibble (
  source = c("FASS" , "FASS" , "SOC" , "SOC" , "SOC" , "SOC" , "SOC"),
  target = c("PA" , "FI" , "IC" , "PA" , "FI" , "IC" , "LGL" ),
  value = c(276 , 77 , 73 , 128 ,  43 ,  79 ,  2 ),
  source_units = c(426 , 426 , 426 , 252 , 252 , 252 , 252 ),
  target_units = c(404 , 120 , 152 , 404 , 120 , 152 ,  2 )
)

plot1 <- highchart() %>%
  hc_add_series(data = data1, type = "sankey",
                hcaes(from = source, to = target, weight = value))

plot2 <- highchart() %>%
  hc_add_series(data = data2, type = "sankey",
                hcaes(from = source, to = target, weight = value)) 

0 个答案:

没有答案