首先用<svg width="500" height="500" id="svg1"></svg>定义了一个svg
假设在这个svg1中画了一个饼图
然后选取另一组数据,需要仍然在是svg1 中画出新数据的饼图
但实际效果是,两个饼图重复画在一起。
请问怎样可以仍然在svg1上, 画新数据之前先清除原来的饼图再画新图 ?
已经试过使用 d3.select('#chart').remove() 的方式会删除 svg1
试下这个。 可以删除现有的条形图,还可以重新添加一个新的条形图。
d3.select("#barChart").select("svg").remove();
var svg = d3.select('#barChart')
.append('svg')
.attr('width', width + margins.left + margins.right)
.attr('height', height + margins.top + margins.bottom)
.append('g')
.attr('transform', 'translate(' + margins.left + ',' + margins.top + ')');
d3.selectAll ("svg1> *").remove();这样子应该能解决你的问题了。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632