1

我想用 raphaeljs 插件绘制动画饼图;我在 g.raphaeljs 库中找到了一个饼图函数(Paper.piechart),这是他们相关的演示

http://g.raphaeljs.com/piechart2.html

但我不知道如何在不重新渲染这个演示的情节的情况下为这个图表制作动画(当一个事件被执行时):

http://raphaeljs.com/growth-pie.html draw 换句话说,我想将第二个演示的动画选项添加到第一个演示中。谁能帮我 ?

4

1 回答 1

0

这是一个拉斐尔饼图的工作演示,它在创建时增长,并在鼠标悬停时具有切片反弹效果:

<div id="pie"></div>
<script>
 var paper = Raphael("pie", 400, 200);
 var pie = paper.piechart(
   100, // pie center x coordinate
   100, // pie center y coordinate
   90,  // pie radius
    [18.373, 18.686, 2.867, 23.991, 9.592, 0.213], // values
    {
    legend: ["Windows/Windows Live", "Server/Tools", "Online Services", "Business", "Entertainment/Devices", "Unallocated/Other"]
    }
  );

//animation - grow pie      
pie.each(function(){
    this.sector.scale(0, 0, this.cx, this.cy);
    this.sector.animate({ transform: "s1 1 " + this.cx + " " + this.cy }, 1000, "bounce");
});

// Bounce pie slice
pie.hover(function () {
  this.sector.stop();
  this.sector.animate({ transform: "s1.1, 1.1 " + this.cx + " " + this.cy }, 500, "bounce");
  this.label[0].attr({ r: 7.5 });
  this.label[1].attr({ "font-weight": 800 });
},

function () {
  this.sector.animate({ transform: "s1 1 " + this.cx + " " + this.cy }, 500, "bounce");
  this.label[0].animate({ r: 5 }, 500, "bounce");
  this.label[1].attr({ "font-weight": 400 });

})

</script>
于 2014-01-26T11:59:12.917 回答