Reading your comment I suppose you are using D3 v4. As of version 4 there is no d3.svg
, hence the error message. The line generator you are looking for is now defined as d3.line()
.
If you were still using version 3, it would be d3.svg.line()
instead.
Also, as other answerers have noted, this will lead to a follow-up error when leaving the rest of the statement untouched as d3.line
does not feature a method .interpolate()
. D3 v4 has curve factories for this purpose, which are used for interpolation. These factories are supplied to the line generator using line.curve()
. D3 v3’s .interpolate("linear")
now becomes .curve(d3.curveLinear)
. However, since line.curve()
defaults to d3.curveLinear
this can safely be omitted in your case.
The statement thus becomes:
var lineFunction = d3.line()
.x(function(d) { return d.x; })
.y(function(d) { return d.y; })
.curve(d3.curveLinear); // Use for clarity, omit for brevity.