d3jsの積み上げ棒グラフで実験していて、enter
exit
の選択に問題があります。私はd3.stack
を使ってキーで整理された2つの配列を取得し、次に一般的な更新パターンに従おうとしました。私が今行っている問題は、ドロップダウンメニューで別の状態をクリックすると、データが更新されないということです。ここでは、問題のコードと完全なプロジェクトへのリンクがあります:http://plnkr.co/edit/8N8b2yUYRF9zqRkjkIiO?p=previewd3js積み重ね棒グラフが更新されない
var series = g.append("g")
var seriesready =
series.selectAll("g")
.data(stack(data))
.enter().append("g")
.attr("fill",function(d){console.log(d); return z(d.key)}) //not logging
when I update the bar chart
var rectangles =
seriesready.selectAll("rect")
.data(function(d){return d})
rectangles.exit().remove()
rectangles.enter().append("rect")
.attr("width", x.bandwidth())
.transition()
.duration(1500)
.attr("transform", function(d) {console.log(d); return "translate(" + x(d.data.Date) + ",0)"; })
.attr("height", function(d) {
return height - y(d[1]-d[0]);
})
.attr("y", function(d) {
return y(d[1]-d[0]);
});
私はまた、どのような選択を削除または追加する必要があるのと、私は混乱してきていると思います。本当にどんな指針にも感謝します。データは面白いですが、まだデータバインディングを完全に把握していません。
ありがとうございました、私は 'seriesUpdate'にキー機能を追加することを考えていませんでしたが、私は' rectangle'に追加しようとしましたが失敗しました – st4rgut