Javascript &引用;类型错误:曲线不是函数。(在';曲线(buffer=path())';中,';曲线';未定义)";在d3.js.v4中

Javascript &引用;类型错误:曲线不是函数。(在';曲线(buffer=path())';中,';曲线';未定义)";在d3.js.v4中,javascript,function,d3.js,Javascript,Function,D3.js,我正在学习一门d3.js Linkedin学习课程,创建图形并按类型进行插值。链接到课程视频。我不断发现上述错误,我认为这与视频来自2016年,并且使用d3.js的v4有关,但我不知道如何修复它。我找到了这个问题的答案,但我不明白。如果有人能帮我,我会非常感激的!谢谢 var数据数组=[{ x:6, y:8 }, { x:9, y:2 }, { x:12, y:19 }, { x:19, y:21 }, { x:23, y:43 }]; 变量插值类型=[d3.curveLinear,d3.cu

我正在学习一门d3.js Linkedin学习课程,创建图形并按类型进行插值。链接到课程视频。我不断发现上述错误,我认为这与视频来自2016年,并且使用d3.js的v4有关,但我不知道如何修复它。我找到了这个问题的答案,但我不明白。如果有人能帮我,我会非常感激的!谢谢

var数据数组=[{
x:6,
y:8
}, {
x:9,
y:2
}, {
x:12,
y:19
}, {
x:19,
y:21
}, {
x:23,
y:43
}];
变量插值类型=[d3.curveLinear,d3.curveNeutral,d3.curveStep,d3.curveBasis,d3.curveBundle,d3.curveCardinal];
var svg=d3.select('body')。append('svg')。attr('height','100%')。attr('width','100%');
对于(var p=0;p<6;p++){
var line=d3.line()
.x(功能(d,i){
返回d.x*6;
})
.y(功能(d,i){
返回d.y*4;
})
.曲线(插值类型[p]);
var-shiftX=p*250;
var-shiftY=0;
var chartGroup=svg.append('g').attr('transform','translate('+shiftX+',0');
chartGroup.append('path'))
.attr('d',行(数据数组))
.attr('笔划','蓝色')
.attr('fill','none');
chartGroup.selectAll('圆圈')
.数据(数据阵列)
.enter().append('圆')
.attr('类',函数(d,i){
返回'grp'+i;
})
.attr('cx',函数(d,i){
返回d.x*6;
})
.attr('cy',函数(d,i){
返回d.y*4;
})
.attr('r','2');
}

它是
d3.曲线自然的
,而不是
d3.曲线自然的
。因为
curveNeutral
不存在,所以它返回
undefined

var数据数组=[{
x:6,
y:8
}, {
x:9,
y:2
}, {
x:12,
y:19
}, {
x:19,
y:21
}, {
x:23,
y:43
}];
var interpoletypes=[d3.curveLinear,d3.curveNatural,d3.curveStep,d3.curveBasis,d3.curveBundle,d3.curveCardinal];
var svg=d3.select('body')。append('svg')。attr('height','100%')。attr('width','100%');
变量ln
对于(var p=0;p

请添加给出错误的代码,最好是以正确的方式添加。可以是代码段、JSFIDLE或代码笔。它会帮助你变得更好answers@RubenHelsloot我在我的问题中添加了代码——我想这不是尽可能少的,但因为这是一个如此短的部分,我想我应该把整个问题都放进去。这一部分似乎是触发器:
var line=d3.line().x(函数(d,i){return d.x*6;}).y(函数(d,i){return d.y*4;}).curve(interpoletypes[p])太棒了,非常感谢你!我可能误解了老师的口音,从来没有注意到。它现在工作得很好。