ここに行く!あなたの前のコードではあまり変更は必要ありませんでした。
Plunker
だから、これはbarGroupsへのデータバインディングに関連していました。データがソートまたは変更されるたびに、新しいデータが "g.layer"にバインドされ、d3の更新方法によって、これはどのように動作するのでしょうか。
新しいコードの変更:
- 変換なし属性でソートするデータの上に移動barGroupsコード。
- x0ドメインが定義された後にグループに変換属性が追加されました。
関連するコード:
ソート機能上:
// bars
let barGroups = g.selectAll("g.layer").data(data);
barGroups.enter().append("g")
.classed('layer', true);
barGroups.exit().remove();
X0ドメインが設定されると:
g.selectAll("g.layer").transition().duration(Globalvar.durations)
.attr("transform", function(d, i) {
return "translate(" + x0(d.State) + ",0)";
});
は、この情報がお役に立てば幸い! :)
「合計」値でソートしているように見え、それに応じてバーが正しいように見えます。その値に基づいてソートされたすべてのグループの棒を欲しいですか? – Shashank
私の質問で述べたように、バーは技術的にソートされていますが、他の例ではそうではありません。チェックボックスをオンにして、チェックボックスをオフにしてデータを更新すると、[ここ](https://bl.ocks.org/LemoNode/73dbb9d6a144476565386f48a2df2e3b)のように、データを更新してソートチェックボックスを切り替えると、バーはx位置にシフトしませんデータ。 あなたの質問については、いいえ、各グループの合計価値による並べ替えだけに興味があります。私は理にかなっていると思います。 –
はい@ロベルト!わかった。私の悪い。私はすぐに解決策とリンクを追加します! – Shashank