更好地控制NVD3工具提示

时间:2015-12-02 05:52:56

标签: d3.js nvd3.js

我正在使用堆积面积图在时间线上绘制多个系列。所有系列都有不同的开始和结束时间。在系列范围之外,所有值都为零。问题是,对于任何给定的x值,工具提示会显示所有系列的值,这使得它非常混乱且难以阅读。有没有办法隐藏零条目?

2 个答案:

答案 0 :(得分:2)

终于找到了解决方案。这是为了完整性:

var contentGenerator = chart.interactiveLayer.tooltip._options.contentGenerator;
chart.interactiveLayer.tooltip.contentGenerator(function(o) {
    var content = contentGenerator(o);
    var content = $(content);

    content.find('td.value')
          .filter(function() {
              return ["0", "0.0%"].indexOf($(this).text()) >= 0 
           })
          .parent().remove();

    return content[0].outerHTML;
});

使用_options不太高兴,但如果有人有更好的解决方案,请告诉我。

答案 1 :(得分:1)

根据您撰写的文字,我假设您要控制工具提示内容。

为此,您有一个contentGenerator函数,通过该函数可以控制工具提示内容。更多说明:

对于工具提示:生成工具提示内容html的函数。这取代了' tooltipContent'大多数图表上的选项。请注意,传递此函数的数据通常根据图表而有所不同,因此您可能需要console.log()输入对象。此外,传递的数据现在始终是单个对象,因此必须相应地调整为tooltipContent选项编写的先前函数。

来源:http://nvd3-community.github.io/nvd3/examples/documentation.html#tooltip