NVD3:添加'总计'值到stackedAreaChart的interactiveGuideline

时间:2018-02-06 01:41:46

标签: d3.js tooltip nvd3.js totals stacked-area-chart

是否有一种简单的方法可以在stackedAreaChart的interactiveGuideline工具提示中包含TOTAL值?如果我能够使用这个令人敬畏的工具提示显示总用户,那就太棒了。

如果没有,那么最干净的选择是什么?

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以使用interactiveGuideline.tooltip.contentGenerator

https://github.com/novus/nvd3/blob/master/src/tooltip.js#L316

e.g。

chart.multiChart.interactiveLayer.tooltip.contentGenerator(function(d) {
  var header = d.value;
  var headerhtml =
    "<thead><tr><td colspan='3'><strong class='x-value'>" +
    header +
    "</strong></td></tr></thead>";
  var bodyhtml = "<tbody>";
  var series = d.series;
  series.forEach(function(c) {
    var value = (c.value || 0).toFixed(2);
    if (
      c.key === keyForActualGreaterThanPredicted ||
      c.key === keyForActualLessThanPredicted
    ) {
      var diff = Math.abs(c.data.y0 - c.data.y1);
      if (diff === 0) {
        value = "-";
      } else {
        value = diff.toFixed(2);
      }
    }
    bodyhtml =
      bodyhtml +
      "<tr><td class='legend-color-guide'><div style='background-color: " +
      c.color +
      ";'></div></td><td class='key'>" +
      c.key +
      "</td><td class='value'>" +
      value +
      "</td></tr>";
  });
  bodyhtml = bodyhtml + "</tbody>";
  return "<table>" + headerhtml + "" + bodyhtml + "</table>";
});