これは Protovis の新参者にとっては非常に困難なプロジェクトですが、消化しやすいチャンクに分割するのを手伝ってもらえませんか?
ここでスケッチしたように、私が構築したいのは「インタラクティブな面グラフ」です。
まず第一に、それはデータです...私はExcelで州のデータを持っています:
県 年 10 100 1000 10000 A 1970 2 4 6 3 A 1971 3 6 8 5 B 1970 6 9 12 6 B 1971 4 8 11 8 .... ... . . . .
州と年ごとに、面グラフを描画できるようにしたいと思います。
vis.add(pv.Area)
.data(data.ProvinceA[1970])
.bottom(1)
.interpolate("basis")
.left(function(d) x(d.x))
.height(function(d) y(d.y))
.fillStyle("rgb(21,173,210)")
.anchor("top").add(pv.Line)
.lineWidth(3);
次に、2 種類のインタラクティブ機能を追加したいと思います。
- 州の選択
- タイム スライダー
選択チェックボックスとタイム スライダーを組み合わせて、特定の時間に表示される領域を決定します。たとえば、A 州が選択され、年が 1984 の場合、その地域のみが表示されます。タイム スライダーをドラッグすると、州 A の対応する年が表示されます。別の州をオンにすると、エリアがオーバーレイされ、タイム スライダーが移動すると両方のエリアが再描画されます。
プロトビスの質問:
- このアプリケーションのデータ (州、年、x、y) をフォーマットするにはどうすればよいですか?
- チェックボックスをエリアにバインドするにはどうすればよいですか?
- タイム スライダーを実装するにはどうすればよいですか? Protovis 内で、またはグラフの再レンダリングをトリガーするリスナーを備えた外部コンポーネントのように?