【node.js+D3.js】サーバーサイドD3
D3にはnode.js用のモジュールがあるのでサーバーサイドで使用するのも簡単です。npmからインストールできます。
1 |
$ npm install d3 |
残念なことにwindowsではjake(JavaScript build tool)がうまくインストールされないらしくビルドの途中でエラーを吐いてとまります。
サンプルコード
内部ではjsdomを使ってDOM操作を行っています。基本的にはフロントエンドでD3を使用するのと変わりません。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
var d3 = require("d3"); var svg = d3.select("body") .append("svg") .attr({ "xmlns": "http://www.w3.org/2000/svg", "width": 750, "height": 750 }); svg.append('circle') .attr({ cx:100, cy:100, r:80, fill:'red' }) console.log(d3.select('body').node().innerHTML); //JSDOMから出力 |
使い方
1 |
$ node testd3.js > test.svg |
下記SVGファイルが作成されます
1 2 3 |
<svg xmlns="http://www.w3.org/2000/svg" width="750" height="750"> <circle cx="100" cy="100" r="80" fill="red"></circle> </svg> |
D3の強力なGeo Projections機能などを使ってサーバーサイドで地図やグラフを生成し出力することができます。