サッカーチーム内のサッカー選手を表す複合棒グラフを作成しました。グラフはここにあります:http://andybarefoot.com/football/path.htmlD3 - データに基づいて要素を並べ替えます
私はd3を使い、2段階で作業するようにページを構築しました。まず、データをロードして各プレーヤーの四角形を作成します。次に、どのビューが選択されたかに応じて、各要素に割り当てられたデータに基づいて矩形のパラメータを更新します。つまり、さまざまなナビゲーションオプションは、要素にマップされた既存のデータに基づいて矩形のサイズを変更し、再配置しますが、追加のデータはロードされません。
矩形のサイズ変更は正しく機能しますが、データ。
各矩形の垂直位置は、単に「i」に設定されたスペーシング変数を掛けて設定します。順序を変更するには、すべての要素すべてを選択し、関連するデータに基づいてソートしてから、同様に新しい垂直位置を設定することができます。 (すなわち、「i」の値が変化した)。しかし、私はこれを動作させることはできません。 D3で
// select all elements and then reorder
svg
.selectAll(".team")
.sort(function(a, b) {
return b.totalClubContractDistance - a.totalClubContractDistance;
})
;
// select all elements and reposition according to new order
svg
.selectAll(".team")
.duration(750)
.attr("transform", function(d,i) {
return "translate(0,"+teamSpacing*i+")";
})
;
を助け、あなたがフィドルを与えるかどうかは –