gpt4 book ai didi

r - 在 R googleVis sankey 图表中分配节点和链接颜色

转载 作者:行者123 更新时间:2023-12-04 12:22:31 25 4
gpt4 key购买 nike

拿起这个 question ,我正在尝试使用 R 中的 GoogleVis 包在 Sankey 图表中为节点分配一组颜色,并希望与渐变模式相关联。问题是我在 3 组节点中的每组中都有相同的类别,我很难让它合作。

datSK <- data.frame(From=c(rep("A1",3), rep("B1", 3), rep("C1", 3), rep("A2", 3), rep("B2", 3), rep("C2",3)), 
To=c(rep(c("A2", "B2", "C2"), 3), rep(c("A3", "B3", "C3"), 3)),
Weight=c(5,7,6,2,9,4,3,4,5))

我希望出现在图表 3 个不同部分的节点 A、B、C 具有相同的颜色(分别是蓝色、橙色、绿色)。
plot(gvisSankey(datSK, from="From", 
to="To", weight="Weight",
options=list(sankey="{
link: { colorMode: 'gradient', colors: ['blue', 'orange', 'green']},
node: { colors: ['blue', 'orange', 'green']}}")))

不幸的是,我无法弄清楚颜色是如何分配的。

最佳答案

已经一年了,我不知道你是否还需要答案,但这是我发现的:

plot(gvisSankey(datSK, from="From", 
to="To", weight="Weight",
options=list(sankey="{
link: { colorMode: 'gradient'},
node: { colors: ['blue', 'blue', 'orange',
'green','orange', 'green',
'blue','orange','green']}
}")))

Google 的 Sankey Chart 将根据节点的出现顺序分配颜色。这是我如何决定节点的出现顺序。基本上我创建一个节点连接列表的字符串,拆分它们,并提取唯一节点,然后分配颜色。
# Create a stringlist of node pairs
nodestringlist <- paste(datSK$From,datSK$To, collapse=' ')

# Split them up
nodestringvector <- strsplit(nodestringlist, split =' ')

# Find the unique nodes in order they appear
node_order <- unique(nodestringvector[[1]])
#output: "A1" "A2" "B2" "C2" "B1" "C1" "A3" "B3" "C3"

这是你想要的吗?

关于r - 在 R googleVis sankey 图表中分配节点和链接颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37602659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com