3

抱歉,如果这个问题看起来很愚蠢,但它让我困惑了几天,所以我非常感谢任何人的任何简单输入!:) 我正在尝试在 d3.js 中构建一个在不同数据集之间转换的折线图。但是,每当我点击转换功能时,它都会选择图表上的原始线,以及图表的轴,并转换所有这些。我试图做 selectAll("svg:path") 而不是 selectAll("path") 但它只返回一个 DOMException 12,表明选择不存在。

//beginning of code to append axis to graph
graph.append("svg:g").attr("class", "x axis")

//draws the original line on the graph
graph.append("svg:path").attr("d", line(dataset1));

//line function
var line = d3.svg.line()
        .x(function(d) {return x(d.age);})
        .y(function(d) {return y(d.freq);})
        .interpolate("basis");

//transition function
function transition(newData) {          
        graph.selectAll("path")
            .data(newData)
        .transition()
            .duration(2000)
            .attr("d", line(newData));
    }

感谢您的任何回复!:)

4

1 回答 1

4

只需给您想要更改唯一类/标识符的东西,例如

graph.append("svg:path").attr("d", line(dataset1)).classed("line", true);
...
graph.selectAll("path.line")
        .data(newData)
...
于 2012-06-12T17:25:26.627 回答