如何将DirectedSparseMultigraph显示为树

时间:2014-12-18 14:49:42

标签: java jung

我有一个带有四种关系的DirectedSparseMultigraph图。其中一个是组织链接,所以我想过滤我的图表并将网络显示为树。我过滤网络,如:

Predicate<Link> advLinks = new Predicate<Link>() {
     @Override
     public boolean evaluate(Link e) {
          return e instanceof Organizational;
     }
};
EdgePredicateFilter<Vertex, Link> advPredicateFilter = new EdgePredicateFilter<>(advLinks);
DirectedSparseMultigraph filtered = advPredicateFilter.transform(graph);
graphLayout = new KKLayout<>(filtered); 
((KKLayout<Vertex, Link>) graphLayout).setMaxIterations(1000);
visualizationModel.setGraphLayout(graphLayout);
vv.repaint();

到目前为止,我只能使用普通布局来表示此过滤网络,但这些数据的组织性质已丢失......如何将DirectedSparseMultigraph转换为DelegateTree?

1 个答案:

答案 0 :(得分:0)

http://jung.sourceforge.net/site/jung-samples/xref/edu/uci/ics/jung/samples/MinimumSpanningTreeDemo.html

tl; dr为原始图形构建生成树,将其展开,然后使用该布局中的顶点位置来布置原始图形。