ソースと動作はこちらで確認できます。
http://bl.ocks.org/osoken/f8eb76f7d2dd810a847c
左上にあるテキストフィールドに数列を貼ると、すぐ下のグラフエリアにグラフが表示されます。
ちょっとデータを確認したいとき用。
基本的にはinput
タグに下記のようなイベントを仕込んで、描画関数に投げるだけです。
例えば入力フィールドの文字列をスペースで値を区切って、それぞれ数値にキャストするのは次のようになります。
d3.select('input').on('keyup',function()
{
var data_ = d3.select(this)
.property('value')
.split(' ')
.map(function(d){return {value:((isNaN(d))?void 0:+d),text:d};});
update_graph(data_);
});
描画関数update_graph()
は、データを受け取ってそれを棒グラフ化します。詳細は割愛しますが、exit
セレクションで不要な要素を消し、enter
セレクションで高さ0の状態で追加して、適切な高さまでtransition
させています。
実際にちょっと使ってみて、数字が全角だったりダブルクオートが入っていたりすると使えないのが不便だったので、リンク先のサンプルソースでは、入力全角半角変換、ダブルクオートのトリムなども行っています。
中途半端なパースになっていますが、あくまでプレビュー用と割り切っています。