説明
D3.jsで新規にテーブルを生成して2次元配列の数値データを加工して出力するにはデータを出力する際にtext()メソッドに関数を指定します。この関数内で渡されたデータ(オブジェクト)のvalueプロパティに文字列を追加したり計算した後、returnで結果を返せば加工されたデータが出力されます。
なお、D3.jsで2次元配列のデータをテーブル内に出力する方法については
こちらのページを参照してください。
HTMLソース
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>D3.js サンプル</title>
<link rel="stylesheet" href="css/main.css">
<style>
table,td { border : 1px solid black; }
</style>
<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 list = [[10, 30], [23, 45], [65, 30], [67, 98]];
var tbl = d3.select("#result") // div#result内に出力
.append("table") // table要素を追加
.selectAll("tr") // tr要素を対象にする
.data(list) // 出力するデータ
.enter() // データ数だけ要素を生成
.append("tr")
.selectAll("td")
.data(function(row){ // 1行ごとにデータを返す
return d3.entries(row); // key, valueを返す
})
.enter()
.append("td") // td要素を追加
.text(function(d){
return d.value + " kg"; // valueが配列要素の値
})