dc.js barChart不呈现

我一直在尝试使用自己的数据重新创建复杂的缩小示例http://dc-js.github.io/dc.js/examples/complex-reduce.html,但无法获取图表进行渲染。

我复制了这些功能:

 function groupArrayAdd(keyfn) {
    var bisect = d3.bisector(keyfn);
    return function(elements, item) {
      var pos = bisect.right(elements, keyfn(item));
      elements.splice(pos, 0, item);
      return elements;
    };
  }

  function groupArrayRemove(keyfn) {
    var bisect = d3.bisector(keyfn);
    return function(elements, item) {
      var pos = bisect.left(elements, keyfn(item));
      if (keyfn(elements[pos]) === keyfn(item))
        elements.splice(pos, 1);
      return elements;
    };
  }

  function groupArrayInit() {
    return [];
  };

然后设置我的维度,组和图表:

  var monthKey = function(d) {
    return d.month;
  };

  var scoreValue = function(d) {
    return d.points_per_date;
  };

  var monthDimension = ndx.dimension(monthKey);

  var monthAvgGroup = monthDimension.group().reduce(groupArrayAdd(monthKey), groupArrayRemove(monthKey), groupArrayInit);


  function sumPoints(kv) {
    return d3.sum(kv.value, scoreValue);
  };

  var accessors = {
    sum: sumPoints
  };


  monthChart
    .width(400)
    .height(300)
    .x(d3.time.scale().domain([d3.min(data, function(d) {
      return d.month
    }), d3.max(data, function(d) {
      return d.month
    })]))
    .xUnits(d3.time.months)
    .valueAccessor(sumPoints)
    .elasticY(true)
    .brushOn(true)
    .controlsUseVisibility(true)
    .dimension(monthDimension)
    .group(monthAvgGroup);

小提琴是https://jsfiddle.net/santoshsewlal/pa524yLc/。 我想我搞乱了设置valueAccessor。
有什么建议么?

谢谢


这只是一个错误 - 在HTML中,您将条形图作为id #test-month ,它应该只是test-month 。 哈希标记仅用于选择器。

我还建议将x域的顶部偏移1个月,因为dc.js非常直接地使用域,并且不会自动为条添加空间:

.x(d3.time.scale().domain([d3.min(data, function(d) {
  return d.month
}), d3.time.month.offset(d3.max(data, function(d) {
  return d.month
}),1)]))

https://jsfiddle.net/pa524yLc/6/

酒吧之间的规模差异非常巨大 - 其中三个酒吧看起来像缺少了,但他们真的很小。 希望对数尺度更好地工作。

链接地址: http://www.djcxy.com/p/32801.html

上一篇: dc.js barChart does not render

下一篇: Plotting unique values from a single column in a dc.js box plot