Javascript D3.js“;错误:无效的<;值;路径>;属性";移动平均线

Javascript D3.js“;错误:无效的<;值;路径>;属性";移动平均线,javascript,d3.js,average,Javascript,D3.js,Average,我试图在图表的其余部分创建一个移动平均线。我正在尝试做类似的事情。 但是,对于我的数据点,我不断得到错误: 错误:属性d的值无效=“M1.2121212122,NaNL1.414141,NaNC1.61616161,NaN,2.02020203,NaN,2.42424…” 我相信这是因为我的数据格式不正确,但我不知道如何修改函数以处理我的数据。我的数据当前看起来像: var data = [ {"x": 1, "y": 113}, {"x": 6, "y": 38}, {"x": 11, "y"

我试图在图表的其余部分创建一个移动平均线。我正在尝试做类似的事情。
但是,对于我的数据点,我不断得到错误:

错误:属性d的值无效=“M1.2121212122,NaNL1.414141,NaNC1.61616161,NaN,2.02020203,NaN,2.42424…”

我相信这是因为我的数据格式不正确,但我不知道如何修改函数以处理我的数据。我的数据当前看起来像:

var data = [ {"x": 1, "y": 113},
{"x": 6, "y": 38},
{"x": 11, "y": 108},
{"x": 16, "y": 245},
{"x": 21, "y": 155},
{"x": 26, "y": 234},
...
谢谢

只需将[{x1,y1},{x2,y2},{xN,yN}]对映射到[y1,y2,…yN]序列,这就是移动平均函数所期望的:

movingAverageLine(data.map(function(d) { return d.y; }))
这是一把小提琴:

你应该接受,因为这本质上就是问题所在

movingAverageLine(data.map(function(d) { return d.y; }))

如果你的数据不是太长,你能把它全部包含在问题中吗?或者更好的是,创建一个代码片段或jsfiddle来重现你的问题。它是100个数据点,所以…var data=[{“x”:1,“y”:113},{“x”:6,“y”:38},{“x”:11,“y”:108},{“x”:16,“y”:245},{“x”:21,“y”:155,{“x”:26,“y”:234},{“x”:31,“y”:64},{“x”:36,“y”,,,,,,,,,,:257,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::“x”:116,“y”:46},{“x”:121,“y”:37},{“x”:126,“y”:125},{“x”:131,这是允许的最大值您可以编辑问题(并删除这些注释)。如果您的数据都是数字,那么您的函数中计算平均值的某些内容是错误的,因为某些内容会生成这些
NaN
s。我们需要查看更多您的代码。非常感谢。我现在了解了函数的工作原理。我没有花足够的时间看到我必须将y值发送到函数。我刚开始搞砸ar我现在在尝试更改“x步”时遇到了一个问题值。它在5下工作,但编辑它时,y值的比例会发生变化,不适合数据。是的,我也错误地将该变量用作移动平均值参数。我现在已将这两个值分开并更新了小提琴。请注意,如果点的定义间隔不同于5,则这也会停止工作。您应该考虑不使用x坐标定义你的点,或者你需要调整移动平均值计算。我意识到移动计数需要分开。我想我必须包括x坐标,因为我正尝试使用循环数据。从它的数据可以以恒定的速率被取,因此在这种情况下,我可以移除。x坐标。谢谢,在看到@ekuusela的答案之前,我不知道怎么做