工具提示获取不正确的数据

时间:2014-02-28 05:54:15

标签: javascript json d3.js

请参考这个小提琴:http://jsfiddle.net/rdesai/5stce/40/

工具提示提取的数据不正确。我该如何解决?

代码的相关部分:

episode.selectAll("rect")
.data(function(d) { return d.ages; })
.enter().append("rect")
.attr("width", x.rangeBand() - 15)
.attr("y", function(d) { return y(d.y1); })
.attr("height", function(d) { return y(d.y0) - y(d.y1); })
.style("fill", function(d) { return color(d.name); })
.on("mouseover", function(d) {      
    tooltip.transition().duration(200).style("opacity", .9);      
    tooltip.html("YES: " + Number(d.y1*100) + "%<br/>NO: " + Number(d.y0*100) + "%")  
    .style("left", (d3.event.pageX) + "px")     
    .style("top", (d3.event.pageY - 28) + "px");    
})                  
.on("mouseout", function(d) {       
    tooltip.transition().duration(500).style("opacity", 0);   
});

1 个答案:

答案 0 :(得分:1)

我尝试过,但无法使用您的代码。所以如果你喜欢使用它,我会用另一种方法来查找百分比。

Fiddle

   var x=Number($(this).attr("height"))/45;
   if($(this).css("fill")=="rgb(255, 51, 50)"){
   tooltip.html("YES: " + Number((10-x)*10) + "%<br/>NO: " + Number(x*10) + "%")
    }
   else
   {
    tooltip.html("YES: " + Number((x)*10) + "%<br/>NO: " + Number(10-x)*10 + "%")
   }