複数の JSON ファイルのデータを視覚化するために d3 コード ダイアグラムを使用しています。年に 1 つの JSON ファイルがあり、年を選択すると (選択入力またはボタン)、データが更新されます。
私のアプローチは次のようなものです:
// ...
// Setup width, height, radius, chord layout and append the svg container element
// ...
// Load the default data file
d3.json("data/m2010.json", function(matrix) {
render(matrix);
});
// ...
// Usual render function, like the examples of mbostock.org
// ...
// Listener: the user want to change the year
d3.select('#year').on('click', function(){
d3.event.preventDefault(); // Actually it's an href
d3.selectAll('.groups').remove();
d3.selectAll('.chords').remove();
d3.json("data/m2011.json", function(matrix) {
render(matrix);
});
});
そこで、前のビジュアライゼーションのすべてのグループとコードを削除してから、新しいデータをロードします。これがそれを行うd3の方法だとは思いません。
私がやりたいのは、ビジュアライゼーション間にある種のトランジションを追加することです。更新パターン (入力、更新、終了) について読んだことがありますが、それを自分の問題に適応させる方法がわかりません。
関数とすべてのrender
ソースはこちら(JavaScript のみ)