javascript - 如何删除先前绘制的 InfoVis 空间树

标签 javascript angularjs infovis thejit space-tree

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

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

st.clearNodesInPath();
st.labels.clearLabels(true);
st.canvas.clear();

如果有人可以指导我如何解决这个问题,那就太好了,因为这阻碍了我的进步。提前致谢。

enter image description here

最佳答案

此问题已通过以下方式解决。

InfoVis 图表将其元素绘制为父元素内的 HTML div 元素。该问题是由于即使在清除数据结构后仍残留有生成的 div 元素造成的。这些在前面所附的图片中清楚地显示了。

此问题已通过以下方式解决。

var list = document.getElementById("idOfParentElement");
list.removeChild(list.childNodes[0]);

该代码片段提取父 InfoVis 元素并清除其生成的所有子元素。这最终将清除将绘制可视化的 Canvas 对象。

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

关于javascript - 如何删除先前绘制的 InfoVis 空间树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26271127/

相关文章:

javascript - 使用 Moment JS 在聊天应用程序中设置时间格式

javascript - 检查输入字段动态增量的正则表达式(AngularJs)?

angularjs - HostListener 和 Angular 通用

javascript - 在 init 之外调用 javascript infovis sunburst 旋转函数

javascript - 使用 JavaScript InfoVis Toolkit 绘制 ForceDirected 图形

javascript - 在 Javascript Infovis Toolkit 树形图中显示特定深度的标签

javascript - 为什么当版本正确时 Yarn 说 "Found incompatible module"?

javascript - 如何在 IndexedDB 中保存对象?

javascript - 根据子类/内容更改 DIV 的颜色

javascript - AngularJS 和 Q.fcall