【问题标题】:How to get quantile of object array如何获取对象数组的分位数
【发布时间】:2015-10-15 06:01:12
【问题描述】:

我有一个对象数组,名为dataArray,其中一个对象是这样的:

{
   id,
   x,
   y
}

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

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

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

【问题讨论】:

  • 你尝试过使用 jquery labery 吗?
  • @MarcosBrinner jquery 也是一个选项。你能提供一个简单的例子吗?
  • 对不起,我在读数量

标签: javascript d3.js


【解决方案1】:

我找到了解决问题的方法。我只需要获取一个对象数组的某个属性的数组,所以我不需要分位数方法中的访问器。

// 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);

【讨论】:

    猜你喜欢
    • 2018-04-30
    • 2019-09-17
    • 1970-01-01
    • 1970-01-01
    • 2016-02-26
    • 1970-01-01
    • 1970-01-01
    • 2019-09-27
    • 1970-01-01
    相关资源
    最近更新 更多