Koto - D3.jsを使ったグラフライブラリ
D3.jsと言えばデータのビジュアライズを行うJavaScriptライブラリです。多彩なグラフィックスを描けますが、高度な機能だけに使いこなすのも難しいという印象があります。 そこで今回はKotoを紹介します。D3.jsをベースに、グラフを描くライブラリです。
Kotoの使い方
Kotoのデモグラフです。
そのコードです。JavaScriptなのでコールバックが多数つけられるのが特徴的です。
// Basic Example
class BarChart extends Koto {
constructor(selection){
// setup chart
var bars = this.base.append('g').classed('bars', true);
// define layer
var layer = this.layer('bars', bars, {
dataBind: function (data) {
return this.selectAll('rect').data(data);
},
insert: function () {
this.append('rect');
}
});
// Setup life-cycle events on layers
bars.on('enter', function () {
// this => enter selection
})
.on('merge', function () {
// this => base selection
})
.on('exit', function () {
// this => exit selection
});
}
preDraw(data) {
// [Optional] Do something before draw
}
}
var barChart = new BarChart(d3.select('#vis'));
barChart.draw(data);
Kotoでは今のところ機能は多くありません(棒グラフのみのようです)。d3.chartにインスパイアされて開発されているとのことで、現状ではd3.chartのが高機能と思われます。しかしd3.chartに関わる開発者が減ってきているとのことで、それを危惧してKotoがはじまったようです。本家が提供するものだけでなく、多様性が広がるのは良いことでしょう。
KotoはJavaScript製のオープンソース・ソフトウェア(MIT License)です。
Koto kotojs/kotojs: A framework for building reusable components with d3.js