2つの配列要素を補間する(interpolateArray)

説明

D3.jsで2つの配列要素を補間する場合、interpolateArray()メソッドを使います。interpolateArray()メソッドのパラメーターには2つの配列を指定します([3]のように配列形式で指定してください。配列は1次元だけでなく2次元配列など多次元配列でも問題ありません)。interpolateArray()メソッドは配列要素を補間し結果を返す関数を返します。つまり、d3.interpolateArray([0],[10])とすると0から10までの数値を補間するための関数が返されます。f = d3.interpolateArray([0],[10]);ならf(0)のようにして使用します。i(0)なら最初の配列である[0]が返されます。i(1)なら最後の値である[10]が返されます。関数に指定する値の範囲は0.0〜1.0ならinterpolateArray()メソッドで指定した範囲の値になります。より大きな数値の場合でもエラーにはならず、計算結果にもとづいた配列が返されます。

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

HTMLソース

<!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コード

var func = d3.interpolateArray([0,1], [6, 9]);	// 配列要素を補間する関数を返す
var data = "";
for(var i=0; i<=1; i+=0.2){
	data = data + func(i)+"<br>";	// iに応じた結果を求める
}
d3.select("#result").html(data);	// 結果を出力