Javascript 清除d3js元素更新数据
我使用d3.js在网页上显示外部json文件中的一些数据。为了保持数据更新,我添加了setInterval()函数。问题是我需要先删除前面的svg元素来更新数据。我能这样做吗?这是我的密码:Javascript 清除d3js元素更新数据,javascript,jquery,json,svg,d3.js,Javascript,Jquery,Json,Svg,D3.js,我使用d3.js在网页上显示外部json文件中的一些数据。为了保持数据更新,我添加了setInterval()函数。问题是我需要先删除前面的svg元素来更新数据。我能这样做吗?这是我的密码: setInterval(function() { d3.json("data.json", function (data) { var svgContainer = d3.select("body").
setInterval(function() {
d3.json("data.json", function (data)
{
var svgContainer = d3.select("body").append("svg")
.attr("width", "100%")
.attr("height", 800);
var text = svgContainer.selectAll("text")
.data(data[0].Bodenfeuchtigkeit)
.enter()
.append("text");
var textLabels = text
.attr("x", "15%")
.attr("y", 475)
.attr("font-family", "Open Sans, sans-serif")
.attr("font-size", 75)
.attr("fill", "green")
.text(data[0].Bodenfeuchtigkeit + " %");
var text1 = svgContainer.selectAll("text1")
.data(data[0].Luftfeuchtigkeit)
.enter()
.append("text");
var text1Labels = text1
.attr("x", "45%")
.attr("y", 475)
.attr("font-family", "Open Sans, sans-serif")
.attr("font-size", 75)
.attr("fill", "green")
.text(data[0].Luftfeuchtigkeit + " %");
var text2 = svgContainer.selectAll("text2")
.data(data[0].Temperatur)
.enter()
.append("text");
var text2Labels = text2
.attr("x", "75%")
.attr("y", 475)
.attr("font-family", "Open Sans, sans-serif")
.attr("font-size", 75)
.attr("fill", "green")
.text(data[0].Temperatur + " \u00B0C");
})
}, 3000);
d3.选择全部(“svg”).remove()
谢谢!但是,在我的代码中包含这一点是一种优雅的方式,因为我在前面的函数中使用了另一个setInterval函数来尝试它,但是它工作得不是很好!在添加新SVG之前运行它。请注意,D3方法是更新现有的可视化,而不仅仅是重新绘制。D3网站上有很多关于这方面的教程。