我正在構建一個交互式的散點圖,我無法更新圓圈的選擇(數據點SEEM工作正常,但我無法確定,因爲行爲有點不穩定)。當我創建一個初始繪圖時,點和線顯示正常,但是在單擊節點並將其移除後,我無法重置選擇。更具體地說,變量「我」(在我的理解中給出了選擇對象的索引)仍然受限於初始選擇。代碼如下:更新D3對象的選擇
function mousedownCircle(d, i) {
console.log(i);
circles[0][i].remove();
dataset.splice(i, 1);
circles = svg.selectAll("circle").data(dataset);
line_obj.attr("d", valueline(dataset));
d3.event.stopPropagation();
}
// Create Circles
var circles = svg.selectAll("circle")
.data(dataset)
.enter()
.append("circle") // Add circle svg
.attr("cx", function(d) {
return xScale(d[0]); // Circle's X
})
.attr("cy", function(d) { // Circle's Y
return yScale(d[1]);
})
.attr("r", radius) // radius
.on("click", mousedownCircle); // click callback
主要想法是能夠刪除圓和數據點。我究竟做錯了什麼?
謝謝你的時間!
您不必刪除的圈子:只是刪除數據點使用「更新」+「退出」選擇。然而,對於任何人在這裏幫助你,你必須發佈一個工作代碼和數據結構。 –