【问题标题】:creating groups for decimal values using crossfilter使用交叉过滤器为十进制值创建组
【发布时间】:2014-03-19 17:03:43
【问题描述】:

我有一个范围为 (0-1.0) 的参数。我正在尝试创建一个dc.js 条形图,以便有 10 个条形表示 (0-0.1) (0.1-0.2) 等等。 我正在使用crossfilter.js 创建维度和组数据,但它似乎没有按要求创建组。

我尝试了以下代码

var fluctuation = ndx.dimension(function (d) {
    return d.value;
});

var fluctuationGroup = fluctuation.group(function(d){
  return Math.round(d*10)/10;
});

我也尝试过另一种方式。

var fluctuation = ndx.dimension(function (d) {
    return Math.round(d.value*10)/10;
});

var fluctuationGroup = fluctuation.group(function(d){
  return d;
});

输出:

【问题讨论】:

  • 每种情况会发生什么?就在我的脑海中,看起来两者都应该或多或少起作用,尽管我会使用 Math.floor() 来获得你想要的范围,而不是 Math.round()。
  • 刚刚编辑了帖子并添加了一张照片
  • 看起来可能没问题,但不知道您的数据。波动组.all() 给你什么?你期望得到什么?你的数据是什么样的?我建议将其放在 jsfiddle 或 jsbin 上的工作示例中。

标签: javascript d3.js crossfilter dc.js


【解决方案1】:

抱歉,这不是交叉过滤器问题。这是一个渲染问题。

我没有使用 xUnits(d3.scale.linear().domain([0, 1])) 与图表。

请建议我是否应该删除这个问题?还是更新一下??

【讨论】:

  • 接受您自己的答案并将问题保留在这里
猜你喜欢
  • 1970-01-01
  • 2020-01-24
  • 1970-01-01
  • 1970-01-01
  • 2014-02-09
  • 1970-01-01
  • 1970-01-01
  • 2016-01-11
  • 2019-05-25
相关资源
最近更新 更多