16
我有一個組合的條形圖/折線圖。對於輸入文件中的每一行,我創建一個包含多個元素(直線,矩形,文本)一組:D3:使用組中的多個元素更新數據
var myGroups = svg.selectAll('g').data(myData)
myGroups.enter().append('g')
...
myGroups.append('line')
...
myGroups.append('polygon')
...
myGroups.append('text')
...
我目前只是
svg.selectAll('*').remove()
,每次從頭開始創建一切數據已更新。不過,我希望所有元素都能平滑過渡。
我已經通過this tutorial幾次,但我仍然不明白我怎麼能做到這一點在我的情況。
你是我翅膀下的風! – Mikhail
根據d3文檔,'select()'應該返回一個元素。但是這裏似乎選擇了語句myGroups.select(「line」)。attr(...);'中的所有行元素。在我的實驗中,'selectAll()'看起來不起作用。你能解釋明顯的差異嗎? – brainjam
'myGroups'包含多個元素,'.select()'爲每個元素執行選擇。也就是說,您正在爲多個元素選擇一個元素。 '.selectAll()'可能不起作用,因爲它不更新數據。 –