交互式饼图:将单击事件与饼图切片相关联

时间:2013-10-25 09:18:10

标签: javascript d3.js svg pie-chart interactive

我正在使用d3.js

制作玩具饼图

我的饼图有3个切片。我想知道是否可以在单击饼图切片时调用函数。

1 个答案:

答案 0 :(得分:3)

function animateFirstStep(){
    d3.select(this)
      .transition()                            
      .attr("d",arc1);  
        /* .attr("d", arc2)
        .style("fill", "black"); */

       /*  .style("stroke", "black")
        .style("stroke-width", 1);   */         
};
function animateSecondStep(){
    d3.select(this)
      .transition()
      .ease("elastic")
      .duration(1500)
        .attr("d", arc)
        .style("fill", function(d) { return color(d.data.trName); });              
        /* .style("stroke", "white")
        .style("stroke-width", 0); */   
};
  var g = svg.selectAll(".arc")
      .data(pie(data.HubActivity.hubWorkloadList))
    .enter().append("g")
      .attr("class", "arc");

  g.append("path")
      .attr("d", arc)
      .style("fill", function(d) { return color(d.data.trName); })
      .on("mouseover", animateFirstStep)
      .on("mouseout", animateSecondStep);

我认为这会有所帮助......当你将鼠标悬停在任何弧形功能上时会被触发你可以将它改为点击