清除 D3.js 画布

use*_*236 4 javascript d3.js

我正在使用 D3 来生成家谱图,(基于此处提供的代码:http : //www.d3noob.org/2014/01/tree-diagrams-in-d3js_11.html)并且图数据来自服务器和用户可以选择他想要查看的家庭,然后单击返回数据的提交按钮,然后 D3 绘制图形。但是,如果用户选择了另一个系列(或与此相同的系列)并在不刷新页面的情况下按提交,则新图表将绘制在旧图表下方。如何清除 D3.js 画布,以便新图形是唯一可见的东西?

Ole*_*leg 5

应用于.remove()现有选择。

// Set new data on your chart:
var items = d3.select('svg').selectAll('.item').data(newData);

// Remove old elements:
items.exit().remove();
Run Code Online (Sandbox Code Playgroud)


Pra*_*tra 5

在绘制图形之前使用以下代码。希望这会有所帮助。

d3.select('svg').selectAll('*').remove();
Run Code Online (Sandbox Code Playgroud)