Jas*_*air 50 charts d3.js nvd3.js
我NVD3在同一个svg中有几个不同的图表.我使用按钮来调用函数,每个函数都包含一个使用自己数据的新图表.
有没有办法清除我的单个svg而不删除它?我想按一个按钮来调用我的图表,但在加载新图表之前清除svg.
使用这种图表时不是问题... multibarhorizontal例如,调用两个图表只是更新形状,这很好.问题是加载两个不同的图表,如线条和条形图.
提前致谢
编辑 - 答案必须是类似d 3.select("svg").remove()但只删除svg.我只想清除它.
Lar*_*off 98
您可以使用选择"svg > *"器选择SVG下方的所有元素,即删除所有这些元素
d3.selectAll("svg > *").remove();
Run Code Online (Sandbox Code Playgroud)
小智 24
这对我有用:
var svg = d3.select("svg");
svg.selectAll("*").remove();
Run Code Online (Sandbox Code Playgroud)
小智 6
如果您正在开发具有显示不同 d3 图表的多个小部件的仪表板,请使用以下内容
d3.selectAll("#d3-donutChart > *").remove();
Run Code Online (Sandbox Code Playgroud)
这只会清除特定的图表,而不是网页中的所有 svg。
在订阅 angular 2 中的数据之后添加此行。