【问题标题】:dc.js: Adding Totals to Bar Chartdc.js:将总计添加到条形图
【发布时间】:2015-09-09 13:43:02
【问题描述】:

我正在尝试在 dc.js 中创建一个条形图,图表末尾带有总计标签。现在,我找不到任何关于要传递的参数或函数的文档,这将允许它发生。

任何帮助将不胜感激!

【问题讨论】:

  • 你有什么资源可以放上来吗?
  • 不直接支持,但链接的问题和答案显示了如何事后添加它。如果你不能让它工作,请在那里发表评论。

标签: javascript dc.js


【解决方案1】:

Gordon,您说得对,这是您在评论中提到的 problem 的副本!

但是,我发现答案不起作用,因为 .renderlet 链接已被删除。这是一个对我有用的重新设计版本(有点,如果条太小,它仍然存在不显示的问题)。

感谢一切!

  testChart
  .width(400)
  .height(200)
  .dimension(testDim)
  .group(testGroup)
  .x(d3.scale.ordinal())
  .xUnits(dc.units.ordinal)

  testChart.on('renderlet', function (chart) {

    var barsData = [];
    var bars = chart.selectAll('.bar').each(function (d) {
      barsData.push(d);
    });

    //Remove old values (if found)
    d3.select(bars[0][0].parentNode).select('#inline-labels').remove();
    //Create group for labels
    var gLabels = d3.select(bars[0][0].parentNode).append('g').attr('id', 'inline-labels');

    for (var i = bars[0].length - 1; i >= 0; i--) {

      var b = bars[0][i];
      //Only create label if bar height is tall enough
       if (+b.getAttribute('height') < 10) continue;

      gLabels.append("text")
          .text(barsData[i].data.value)
          .attr('x', +b.getAttribute('x') + (b.getAttribute('width') / 2))
          .attr('y', +b.getAttribute('y') + 25)
          .attr('text-anchor', 'middle')
          .attr('fill', 'black');
    }
  });

【讨论】:

    猜你喜欢
    • 2015-10-23
    • 2023-01-25
    • 1970-01-01
    • 2021-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多