私のjsfiddleでは、凡例のボタンをクリックするPending
と、そのカテゴリに関連付けられているバーが削除されます。これは機能しますが、Reset Legend
ボタンをクリックすると (currateData
メソッドに元のデータが提供されるため、Pending
バーが元に戻ります)、古い保留中のデータが適切に読み込まれません。
私はそれがこの方法と関係があると信じています:
function redrawPlot() {
svg = d3.select('svg.chart')
.attr('width', width)
.attr('height', height);
svg.selectAll('g.xaxis')
.attr('transform', 'translate(0, ' + (height - margin.top - margin.bottom) + ')');
}
私のコードはjsfiddleに表示されているものよりも複雑であるため、このメソッドを削除できません。これは問題を示しているだけです。また、再描画メソッドで幅と高さを更新する必要があるため、単に削除することはできません。
redrawPlot() メソッドを変更して、チャートを再作成するときに、古いデータを追加したときにバーの位置が台無しにならないようにするにはどうすればよいですか?