报错啦,是什么原因呢?
是因为你使用的 d3js 版本比视频中老师用的新,接口不一样。
参考 这里:
https://d3js.org.cn/document/d3-shape/#curves
使用指定的 alpha 值([0, 1]
) 返回一条 Catmull–Rom
生成器。如果 alpha 为 0
则等价于 curveCardinal,如果 alpha 为 1
则会生成 chordal
曲线,如果 alpha 为 0.5
则会生成 centripetal spline
老师 使用的接口
d3.line().x().y().interpolate('cardinal')
等价于新的接口用法
d3.line().x().y().curve(CatmullRom.alpha(0.5))
里面的 0.5 设置为 0
d3.svg.line..... 你的 line对象取错了