2015-02-23 38 views
0

我想在d3中製作一個簡單的動畫(我是新手)。我做了一個詞雲演示文稿,當頁面打開時,我會喜歡它「飛入」(從左到右,然後居中)的小動作。d3動畫wordcloud flyin

var text = d3.select("body").append("svg") 
      .attr("width", 1200) 
      .attr("height", 800) 
      .append("g") 
      .attr("transform", "translate(550,300)") 
      .selectAll("text") 
      .data(words) 
      .enter().append("text") 
      .style("font-size", function(d) { return d.size + "px"; }) 
      .style("font-family", "Impact") 
      .style("fill", function(d, i) { return fill(i); }) 
      .attr("text-anchor", "middle") 
      .style("text-anchor", "middle") 
      .attr("transform", function(d) { 
       return "translate(" + [d.x, d.y] + ")rotate(" + d.rotate + ")"; 
      }) 
      .text(function(d) { return d.text; }); 
+0

將初始位置設置爲離開頁面向左,然後將轉換添加到所需的結束位置。 – 2015-02-23 19:12:23

+0

就是這樣!非常感謝你! – Pet 2015-02-23 19:23:15

回答

0

您需要做的就是將初始位置設置爲離開頁面向左,然後向期望的結束位置添加轉換。例如:

d3.select("svg > g") 
    .attr("transform", "translate(-550,300)") 
    .transition() 
    .attr("transform", "translate(550,300)"); 
+0

太棒了!謝謝 – Pet 2015-02-23 20:25:50

+0

通過點擊複選標記隨時接受答案。 – 2015-02-23 20:41:18