Accepted answer

I made a plunk with the code you have there and everything works just fine. Let me explain a little of what is going on though.

Instead of using HTML that is already there, D3 will often generate its own (in fact it has to generate its own to do the visualizations). You see this with statements like the following:

    .attr("class", "line")
    .attr("id", "blueLine")
    .attr("d", valueline(data));

D3 just created a path element and appended it to the svg element it created earlier. It gives this particular element an id of blueLine which it uses later to apply styles. It did not exist in any HTML prior to this script running. D3 created it.

Related Query

More Query from same tag