javascript - 如何获取对象数组的分位数

标签 javascript d3.js

我有一个对象数组,称为dataArray,其中一个对象如下所示:

{
   id,
   x,
   y
}

现在我想通过使用 d3 获得该数组的下分位数。我想到了这样的事情:

quartile = d3.quantile(dataArray, 0.25, function(d) {return d.y})

但不幸的是,此方法没有访问器选项。如何从对象数组中获取属性的分位数?提前致谢

最佳答案

我找到了解决问题的方法。我需要获取仅包含对象数组的某个属性的数组,因此我不需要分位数方法中的访问器。

// get an array of just the y property values
var keyArray = dataArray.map(function(item) { return item["y"]; });

// calculate a lower quantile of this array
var quantile_y = d3.quantile(keyArray, 0.25);

更新:

为了正常工作,必须对赋予d3.quantile()的数组进行排序。例如

keyArray.sort(d3.ascending);

关于javascript - 如何获取对象数组的分位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31612640/

相关文章:

javascript - d3 中的渲染性能

javascript - D3 节点颜色基于 csv 中定义的组

javascript - JavaScript 对象中的条件语句

javascript - 单击标题可对表格进行排序

javascript - 需要什么样的 Breeze 设置才能使缓存工作?

javascript - jsPDF 损坏的 PDF?

javascript - 通过单击按钮在另一个网页上播放声音

javascript - 如何为具有一个分支和多个子项的数据集以不同颜色显示 d3 气泡?

svg - Rect 等价于 text 的 text-anchor 表示属性吗?

javascript - 从 Javascript 访问 SVG 对象时收到 Uncaught SecurityError