向R networkD3 :: sankeyNetwork中的链接添加渐变吗?

时间:2018-11-21 12:49:24

标签: r sankey-diagram networkd3

在R环境中,是否可以通过networkD3 :: sankeyNetwork函数在用户指定颜色的链接上添加渐变?

repo扩展了networkD3 :: sankeyNetwork的功能,但似乎仅在不使用linkGradient参数时才允许使用LinkGroup参数,即您只能当所有链接的颜色相同时,请使用渐变。不幸的是,我要求LinkGroup为每个链接指定不同的颜色。

这是一个可复制的Sankey图示例,其中包含用户指定的链接颜色,但没有我要施加的渐变。

source = as.numeric(c("0", "0", "0", "0"))
target = as.numeric(c("1", "2", "3", "4"))
value = as.numeric(c("40", "10", "5", "20"))
group = c("red", "yellow", "green", "blue")
node = as.numeric(c("0", "1", "2", "3", "4"))
name = c("source", "red", "yellow", "green", "blue")

links = data.frame(source, target, value, group)
nodes = data.frame(node, name)

networkD3::sankeyNetwork(Links = links, Nodes = nodes, 
                         Source = 'source', 
                         Target = 'target', 
                         Value = 'value', 
                         NodeID = 'name',
                         units = 'UOM',
                         LinkGroup = 'group',
                         colourScale = JS('d3.scaleOrdinal()  
                        .domain(["miRNA","red", "yellow", "green", "blue"])
                        .range(["black", "red", "yellow","green","blue"])')) 

编辑:是的,有一个Java选项here,但是我正在R环境中寻找解决方案,即通过R,而不是Java。此外,该解决方案不适用于弯曲较大的链接。前面提到的repo用曲线提供了更平滑的渐变。我不知道如何从那里进行修改,以允许使用渐变的多个彩色链接。

0 个答案:

没有答案