Javascript 如何删除以前绘制的InfoVis空间树

Javascript 如何删除以前绘制的InfoVis空间树,javascript,angularjs,infovis,thejit,space-tree,Javascript,Angularjs,Infovis,Thejit,Space Tree,我正在使用InfoVis在我的一个项目中生成空间树可视化。由于这是一个交互式网站,每次用户更改首选项时都需要重新生成空间树 这需要完全清除空间树,并在同一空间上重新绘制新树。此外,可以根据页面大小的变化重新调整图表区域的大小。这需要重新绘制空间树。 在绘制新的空间树之前,我在尝试清除以前绘制的空间树时遇到了几个问题。我正在使用以下代码段清除上一个图形,但它失败得很惨。 st.clearNodesInPath(); st.labels.clearLabels(true); st.canvas.cl

我正在使用InfoVis在我的一个项目中生成空间树可视化。由于这是一个交互式网站,每次用户更改首选项时都需要重新生成空间树
这需要完全清除空间树,并在同一空间上重新绘制新树。此外,可以根据页面大小的变化重新调整图表区域的大小。这需要重新绘制空间树。

在绘制新的空间树之前,我在尝试清除以前绘制的空间树时遇到了几个问题。我正在使用以下代码段清除上一个图形,但它失败得很惨。

st.clearNodesInPath();
st.labels.clearLabels(true);
st.canvas.clear();
如果有人能指导我如何解决这个问题,那就太好了,因为这阻碍了我的进步。提前感谢。


这是通过以下方式解决的。

var list = document.getElementById("idOfParentElement");
list.removeChild(list.childNodes[0]);
InfoVis图表将其元素绘制为父元素内的HTML div元素。问题是因为即使在清除数据结构之后,这些生成的div元素仍会被重新组合。这些都在前面附加的图像中清楚地显示出来。


这是通过以下方式解决的。

var list = document.getElementById("idOfParentElement");
list.removeChild(list.childNodes[0]);
代码片段提取父InfoVis元素并清除它生成的所有子元素。这将最终清除绘制可视化的画布对象


这解决了我的问题。希望这对有相同问题的人有所帮助。

正如您在所附的屏幕截图中所看到的,前面的实例没有被清除。他们一直在屏幕上。