アニメーションの動きを指定する

説明

D3.jsでアニメーションの動きを指定するにはease()メソッドを使います。ease()メソッドにアニメーションの動きを示す文字列を指定します。"line"、"quad"、"cubic"、"sin"、"exp"、"circle"、"bounce"などを指定できます。その他、指定できるものに関してはこちらのページを参照してください。

サンプル [サンプルを実行する] [サンプルをダウンロード]

HTMLソース

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>D3.js サンプル</title>
<link rel="stylesheet" href="css/main.css">
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
</head>
<body>
<h1>D3.jsサンプル</h1>
<div id="result"></div>
<script src="js/sample.js"></script>
</body>
</html>

JavaScriptコード

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
d3.select("#result")    // ID名resultの要素を指定
    .append("svg"// svg要素を追加
    .attr("width", 320) // svg要素の横幅を指定
    .attr("height", 240)    // svg要素の縦幅を指定
    .append("rect") // 四角形(矩形)を追加。以後のメソッドは、この四角形(矩形)に対しての設定になる
        .attr("x", 80)  // x座標を指定
        .attr("y", 60)  // y座標を指定
        .attr("width", 0)   // 横幅を指定
        .attr("height", 100)    // 縦幅を指定
        .attr("stroke", "blue") // 青色にする
        .attr("fill", "cyan")   // 塗りは水色にする
        .attr("stroke-width", 1)    // 線幅を指定
    .transition()
    .duration(2000) // 2秒間のアニメーションにする
    .ease("bounce") // bounceの動きを指定する
        .attr("stroke-width", 10)   // 最終的な線幅を指定
        .attr("width", 200) // 最終的な横幅を指定