在Mike Bostock的example之后,我尝试每10秒自动更新一次图表。
我可以通过设置超时并在再次创建之前删除整个svg来实现此目的。例如:
function updateBarChart(){
d3.select("body").select("svg").remove();
// Rest of the Code Similar to the Example
//...
setTimeout(updateBarChart, 10000);
}
但是,当它删除旧的并创建新的时,会产生闪烁效果。
有没有办法可以做得更好?也许有一个很好的动画?
感谢任何帮助。 :)
更新
由于Gerardo Furtado提供的示例,删除了眨眼效果。但我现在面临一个新问题。如果传入阵列的长度增加,则较大宽度的较旧条形重叠并且图形不会正确显示。