D3の成功の最も重要な部分は、D3が取ったポジションやアプローチです。D3は、グラフィックライブラリではなくデータ処理ライブラリです。D3は創造性を制限するビルド済みのチャートを持っていません。その代わりに、データとグラフィックス間の接続を容易にするツールを用意しました。そのアプローチは正しく、データの可視化のために必要なライブラリとして最適な場所に位置します。
詳しくは下記で
var dataSet = [
{name:"a", val1: 1000 },
{name:"a", val1: 2000 },
{name:"a", val1: 3000 },
{name:"a", val1: 4000 },
{name:"a", val1: 5000 }
];
var svgW = 300;
var svgH = 200;
var xMargin = 50;
var svg = d3.select('body')
.append('svg')
.attr({
width: svgW,
height: svgH,
});
var scale = d3.scale.linear()
.domain([0, d3.max(dataSet, function(d){ return d.val })])
.range([svgH, 0]);
var barchart = svg.selectAll('rect')
.data(dataSet)
.enter()
.append('rect')
.attr({
x: function(d, i){ return i * 30 + xMargin },
y: function(d){ return scale(d.val1)},
width: 20,
height: function(d){ return svgH - scale(d.val)} ,
fill: "blue"
});
var yAxisCall = d3.svg.axis()
.scale(scale)
.orient('left')
var yAxis = svg.append('g')
.attr({
"class": "axis",
"transform": "translate(" + [xMargin, 0] + ")"
})
.call(yAxisCall);
});
地図を用いたデータ可視化に必須
ズーム/パン、ドラッグも自在。
オンライン学習サイトのユーザーインターフェイス。D3.jsを使って作られているそうです
D3.jsとSketch(SVGグラフィックソフト)を使ってWeb上で実際に動作するプロトタイプを作成する
Fast interactive prototyping with Sketch and d3.js
D3.js、面白いよ!
/
#