Javascript D3.js类别色标工作不正常

Javascript D3.js类别色标工作不正常,javascript,d3.js,Javascript,D3.js,所以我有一个视图,它可以创建路径,我试着让我画的每一条线都有一个随机的颜色 我现在正在做这个- var color = d3.scale.category20(); //other code that does stuff this.path = svg.append("path") .attr("d", line(newData)) .style("stroke", f

所以我有一个视图,它可以创建路径,我试着让我画的每一条线都有一个随机的颜色

我现在正在做这个-

            var color = d3.scale.category20();


                //other code that does stuff 
        this.path = svg.append("path")
            .attr("d", line(newData))
            .style("stroke", function(d,i) { 
                var colorIndex = Math.random() * (20 - 0) + 0;
                return color(colorIndex); })
            .attr("fill","none")
            .attr("class","line");
这不会用不同的颜色画线。而且,当我这样做的时候

        this.path = svg.append("path")
            .attr("d", line(newData))
            .style("stroke", function(d,i) { 
                return color(4); })
            .attr("fill","none")
            .attr("class","line");
颜色仍然是蓝色


为什么会这样

发生这种情况是因为未设置域-


有答案吗?

我已经设置了一个最小的小提琴,向您展示设置线条功能的正确方法。我还将配色方案更改为类别(10),以显示更多对比度的颜色(您仍然可以使用category20并看到颜色上的差异)。这是你的电话号码


如果你能创建一个JSFIDLE可能会很有帮助。我可以-有很多依赖的东西-创建一个JSFIDLE需要花费大量的时间可能给我们提琴在任何情况下-硬编码返回颜色(4)不应该返回与返回颜色(1)相同的颜色@praks5432这就是你要找的吗?
var lineFunction = d3.svg.line()
        .x(function (d) {
        return d.x;
    })
        .y(function (d) {
        return d.y;
    })
    .interpolate("linear");