0

我正在尝试添加一个工具助手,更具体地说是这个d3.layout.partition 示例。关键是当您将鼠标悬停在一个矩形(即树中的一个元素)上时,工具栏会显示有关该部分的信息。我以前能够使工具栏出现在sunburst 示例中,如下所示:

path.enter().append("path")
            .attr("id", function(d, i) { return "path-" + i; })
            .attr("d", arc)
            .attr("fill-rule", "evenodd")
            .style("fill", color)
            .call(d3.helper.tooltip()
                .attr({class: function(d, i) {
                    return d + ' ' +  i + ' A';
                }})
                .style( {font: '10px sans-serif'} )
                .text(function(d, i) {
                    return d.reportHTML;
                })
            )
            .on("click", click);

但是...当我尝试类似于分区示例的操作时:

g.append("svg:rect")
      .attr("width", root.dy * kx)
      .attr("height", function(d) { return d.dx * ky; })
      .attr("class", function(d) { return d.children ? "parent" : "child"; })
      .call(d3.helper.tooltip()
                .attr({class: function(d, i) {
                    return d + ' ' +  i + ' A';
                }})
                .style( {font: '10px sans-serif'} )
                .text(function(d, i) {
                    return d.reportHTML;
                })
            )
            .on("click", click); 

工具栏不显示。如何调整它以使其也适用于分区布局?

当我尝试将鼠标悬停在矩形上时,我在 Web 控制台中收到的错误消息如下:

Uncaught TypeError: Object #<Object> has no method 'indexOf'
Uncaught TypeError: Object #<Object> has no method 'mouse'
4

0 回答 0