当前位置: 首页 > 知识库问答 >
问题:

如何使用networkD3库设置sankey图中节点的颜色

叶琦
2023-03-14

我使用了下面的 R 代码,并得到了下图。但我想将节点的颜色从绿色更改为黑色。我尽力找到一个相关的方法或参数,但没有找到一个。

library(networkD3)

source <- c(0,1,3,4,4)
target <- c(2,2,1,1,0)
value <- c(33,44,66,77,88)
link_group <- as.character(c('a', 'b', 'c', 'd', 'e'))


sankeydata <- data.frame(source,target, value, link_group)
sankeydata
names <- c('a', 'b', 'c', 'd', 'e')
id <- c(0,1,2,3,4)
group <- as.character(c(1,1,1,1,1))

sankeyNodes <- data.frame(names,id,group)

sankeyNetwork(Links = sankeydata, Nodes = sankeyNodes, Source = "source", colourScale = JS(
  'd3.scaleOrdinal()  
  .domain(["a","b","c","d","e"])
  .range(["#B3E2CD","#FDCDAC","#CBD5E8","#F4CAE4","#E6F5C9"])'), 
  Target = "target", Value = "value", NodeID = "names", LinkGroup = "link_group", units = "Quads",
  NodeGroup = "group", fontSize = 15, nodeWidth = 20,fontFamily = "Arial")

共有1个答案

杨征
2023-03-14

您需要在colourScale定义中将黑色#000000分配给节点组1

colourScale = JS('d3.scaleOrdinal().domain(["1", "a", "b", "c", "d", "e"]).
                 range(["#000000","#B3E2CD","#FDCDAC","#CBD5E8","#F4CAE4","#E6F5C9"])')
 类似资料:
  • 我想改变字体的颜色,或者在字体中添加阴影以提高可视性。然而,我还没有找到一种方法去做。一种替代方法是使用plotly,但当你将plotly对象放入闪亮的应用程序并在手机中可视化时,你会失去交互标签,因此networkD3提供了更好的集成。唯一的问题是,我很难个性化服装。我想改变字体颜色。 一个值得指责的例子:

  • 我试图按照d3Network的R端口的例子来创建一个桑基情节(如下所述:https://christophergandrud.github.io/networkD3/)。我加载以下示例“能量”数据集: 导入“能量”数据集会生成两个新的数据帧;节点和链接。查看链接数据可发现以下格式: “源”列表示源节点,“目标”列表示目标节点,而“值”列表示每个单独链接的值。 尽管这在概念上相当简单,但我在获取与格

  • 本文向大家介绍使用OpenCV获取图像某点的颜色值,并设置某点的颜色,包括了使用OpenCV获取图像某点的颜色值,并设置某点的颜色的使用技巧和注意事项,需要的朋友参考一下 以下用OpenCV实现获取图像中某点的颜色值,并设置某点区域的颜色 运行效果: 补充知识:opencv中对图片的二值化操作并提取特定颜色区域 我就废话不多说了,大家还是直接看代码吧! 以上这篇使用OpenCV获取图像某点的颜色值

  • 我已经使用r中的networkd3创建了一个。如何更改流线或链接的颜色?我希望流线与节点的颜色相同。 以下是我的代码:

  • 我无法弄清楚如何更改节点之间链接的颜色。好吧,我知道如何直接更改颜色,但似乎不知道如何将if语句放入Sankey的js代码中。 我需要一个if语句来使任何“值”高于30以具有红色链接,如果它们低于30,则为灰色或#000。 当值超过30时,这是我正在寻找的红色: 这是代码,我所说的值类似于:{“源”: 0,“目标”: 2,“值”: 33}

  • 有没有办法在Google的Sankey图中使用样式角色更改目标节点文本的颜色?目前我的数据设置如下: 我可以改变节点和链接的颜色,但不能改变文本的颜色。 在这一点上,d3对我来说不是一个选择,整个想法是将节点动画化,使其在其位置一个接一个地出现 - 因此尝试更改样式并重新绘制图表。增大表不起作用,因为节点会更改位置。有什么想法吗?