0

2つのドロップダウンリストから選択した値に基づいて更新される線グラフがあります。データは以下の要点に従って更新されます。すべてが完全に機能し、すべてのデータが正しく返されますが、この更新されたデータを既存の線/パスに適用してグラフを更新しようとすると、線/パスが消えて解析エラーが発生します。この新しいデータをライン/パスに適用する方法と関係があることを知っています-誰か助けてもらえますか?

https://gist.github.com/Majella/202df0a4a5a3ad20fb92

4

1 に答える 1

1

(a) 既存の行を新しいデータで更新するか、(b) 既存の行を保持して新しいデータで 2 行目を追加するか、よくわかりません。

(a) の場合は、元の行に再度結合newdataしてから再描画する必要があります。これは、関数パラメーターがデータセットである単純な再描画関数で実現できます。これの実装は、Mike Bostock のGeneral Update Patternの投稿、またはこれを示すために私が作成したさらに単純な例で確認できます。

(b) の場合、最初のデータセットに対して行ったように、新しいデータに対して次のようなデータ結合を実行します。

var data2 = svg.selectAll('.newData')
   .data(newdata)
.enter().append('path')
   .attr('class', 'newData)
   .attr( "d", line(newdata));

そして、グラフに 2 番目の線が追加されます。

于 2013-03-11T02:37:59.960 に答える