元の変換 (40) から X を引いた値を取得し、g を新しい変換値 (40-x,20) に設定します。変換文字列を解析するより良い方法は何ですか?
<label><input type="checkbox"> Sort values</label>
<g class="state" transform="translate(40,20)">
d3.select("input").on("change", change);
function change() {
d3.selectAll(".state").attr("x",50);
var transition = svg.transition().duration(750),
delay = function(d, i) { return i * 50; };
transition.selectAll(".state")
.attr("transform", function(d) { COOL MAGIC});
}