根据此示例:https://bl.ocks.org/mbostock/4341954,我尝试做同样的事情:显示直方图和核密度估计。 数据,轴,仓和直方图看起来很完美,但是在添加曲线时遇到麻烦。
实际上,变量“ density”的第二个键始终等于零。 我的假设:我应该使用value0而不是所有数据来计算密度。
let density = kde(kernelEpanechnikov(7), x.ticks(100))(data)
我不喜欢这种语法。我该如何解决?
答案 0 :(得分:2)
在此示例中,迈克的数据是一个纯数字数组:
[79,54,74,62,85,55,88,85,51,85,54,84,78,47,83,52,62,84,52,79,51,47,78,69,...
在这里:kde(kernelEpanechnikov(7), x.ticks(100))(data)
他将该数组传递给内核密度估计器。
您的数据是一个对象数组,这些对象本身无法用于通过内核密度函数指定密度。但是,如果传递数字数组,则会得到结果,例如:
let density = kde(kernelEpanechnikov(7), x.ticks(100))
( data.map(function(d){ return d.value0; }) )