繁体   English   中英

Prefuse:重新加载XML文件

[英]Prefuse: Reloading of XML files

我是prefuse可视化工具包的新手,并有几个常规问题。 出于我的目的,我想使用预熔(graphview / graphml)进行初始可视化。 呈现后,在用户单击节点后,我想完全重新加载新的xml文件以进行新的可视化。 我想这样做是为了让我可以“预打包”图形进行显示。

例如。 如果我搜索Ted。 我想要一个与Ted加载相关的xml文件并呈现显示。 现在在显示中,我看到Ted具有关联的节点,分别称为Bill和Joe。 当我单击Joe时,我想清除显示并加载与Joe关联的xml文件。 等等。

我研究了装入一个非常大的xml文件,其中包含所有节点和节点关系信息,并允许预先使用从一个级别到另一个级别的跃点来处理该文件。 但是,最终我确定由于数据量的原因,会出现系统性能问题。

预先感谢您的帮助,约翰

当然,正如您所说,一种方法是加载所有节点,然后设置不需要隐藏的节点。 预熔可以很好地扩展,但是当然有其局限性。 第二种选择是只创建一个全新的面板并替换旧面板。 我使用了选项2,效果很好。

我与Prefuse的性能问题的专家相去甚远,但是我认为一次加载一个巨大的xml文件比执行仅重新加载必要节点的处理肯定要消耗更多的资源。

我不知道您使用的是哪种图形,但是我会放置一个“ refreshGraph”,该图形从Visualization对象中删除该图形,取消Activity,取消Layout,刷新ActionList并重新开始。 结果可能是这样的:

public void refresh(clickedNode){
    visualization.removeGroup(GRAPH);
    visualization.removeGroup(AGGR);
    activity.cancel();
    actionList.cancel();
    visualization.reset();
    // process the XML and reload your graph here
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM