我正在尝试在D3中构建一个有向线图,能够在D3中使用线性比例,域[-1,0,1]和范围[“红色”,“黄色”,“绿色”]将边缘的颜色设置为节点之间的速度表示。我是D3,JS和一般编程的新手,所以我确定我错过了一些明显的东西,但有没有办法可以调用这个颜色数组中的值:
var color = d3.scale.linear()
.domain([-1, 0, 1])
.range(["red", "yellow", "green"]);
在我声明线条实际颜色的样式部分中?我尝试过的例子,我已经宣布了10种链接类型,并且我正在尝试将颜色元素传递给它们。:
path.link.onezero {
stroke: color(-0.5);
}
不起作用,并返回一个空行。 path.link.twozero { 中风:#000; } 是否有效,并返回黑线。
显然,我可能以错误的方式攻击这个问题,并且希望能够创建这些行而不必在样式部分中使用样式元素的离散声明,而是使用样式部分的一个样式元素并且我的脚本动态确定其属性 - 我只是不知道如何做到这一点。
谢谢!
答案 0 :(得分:0)
您必须在javascript代码中调用color
函数,如下所示。
d3.selectAll("path.link.onezero")
.style("stroke",color(-0.5));