0
私は、Mike Bostockの例に基づいていますが、複数のデータセット間を移行する、複数系列折れ線グラフを作成しようとしています。私はラインを入れ替えることにしましたが、ラインのラベルは消えてはいけません。 Screenshot at this link.D3は、移行時にmutli-series折れ線グラフのラベルを終了します。
さらに、ラインは奇妙な方法で移行しています。ほとんど同じように同じ行を拡張して新しい行を作成しているようです(Second screenshot at this link)。
var line = d3.svg.line()
.interpolate("basis")
.x(function(d) { return x(d.Date); })
.y(function(d) { return y(d.candidate); });
var person = svg_multi.selectAll(".candidate")
.data(people);
var personGroups = person.enter()
.append("g")
.attr("class", "candidate");
person
.enter().append("g")
.attr("class", "candidate");
personGroups.append("path")
.attr("class", "line")
.attr("d", function(d) { return line(d.values); })
.style("stroke", function(d) { return color(d.name); });
var personUpdate = d3.transition(person);
personUpdate.select("path")
.transition()
.duration(1000)
.attr("d", function(d) {
return line(d.values);
});
person
.append("text")
.datum(function(d) { return {name: d.name, value: d.values[d.values.length - 1]}; })
.attr("transform", function(d) { return "translate(" + x(d.value.Date) + "," + y(d.value.candidate) + ")"; })
.attr("x", 3)
.attr("dy", ".35em")
.text(function(d) { return d.name; });
person.selectAll("text").transition()
.attr("transform", function(d) { return "translate(" + x(d.value.Date) + "," + y(d.value.candidate) + ")"; });
person.exit().remove();
ありがとうございました! – user3740848