繁体   English   中英

使用D3.js库在Sankey Diagram中更改节点的颜色。

[英]Changing the colour of the node in Sankey Diagram using D3.js library.

这是用Javascript编写的代码部分,可在sankey图中创建矩形节点。

代码:

node.append("rect")
      .attr("height", function(d) { return d.dy; })
      .attr("width", sankey.nodeWidth())
      .style("fill", function(d) { return d.color = color(d.name.replace(/ .*/, "")); })
      .style("stroke", function(d) { return d3.rgb(d.color).darker(2); })
      .append("title")
      .text(function(d) { return d.name + "\n" + format(d.value); });

每个节点包含一个名为“ location | month”的名称。 因此,此处从d3.scale.category20();中随机分配了颜色。

所以我想为位置相同的所有节点分配相同的颜色。 例如loc3 |五月

因此所有位置为loc3的节点都必须具有相同的颜色。

在该代码中,填充颜色是通过传递结果来确定的

d.name.replace(/ .*/, ""));

color功能。

如果要根据名称的位置部分使颜色相同,则需要修改上述代码以仅提取位置。

根据您对name属性的描述,您可以简单地在|上拆分名称。 字符并返回第一部分:

d.name.split("|")[0];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM