簡體   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