使用 D3 v3.x 畫曲線的方法:
var lineData = [[50,50],[100,50],[100,100],[100,150],[50,100]]; var line = d3.svg.line() .interpolate('basis'); svg.append("path") .attr("d", line(lineData)) .attr("stroke", "black") .attr("stroke-width", "1px") .attr("fill", "none");
如果是在 D3 v4.x 以後使用 interpolate() 會出現 Uncaught TypeError: d3.line(…).interpolate is not a function 的錯誤!
在 D3 v4.x / v5.x 以後版本的用法:
var lineData = [[50,50],[100,50],[100,100],[100,150],[50,100]]; var line = d3.line() .curve(d3.curveBasis); svg.append("path") .attr("d", line(lineData)) .attr("stroke", "black") .attr("stroke-width", "1px") .attr("fill", "none");
D3 v3.x interpolate 與 v4.x 的對應:
相關文章: