Java 如何将DirectedSparMultigraph显示为树

Java 如何将DirectedSparMultigraph显示为树,java,jung,Java,Jung,我有一个有四种关系的定向sparsemultraph。其中一个是组织链接,所以我想过滤我的图表并将网络显示为树。我会像这样过滤我的网络: Predicate<Link> advLinks = new Predicate<Link>() { @Override public boolean evaluate(Link e) { return e instanceof Organizational; } }; EdgePred

我有一个有四种关系的定向sparsemultraph。其中一个是组织链接,所以我想过滤我的图表并将网络显示为树。我会像这样过滤我的网络:

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();
Predicate advLinks=new Predicate(){
@凌驾
公共布尔求值(链接e){
返回组织的e实例;
}
};
EdgePredicateFilter advPredicateFilter=新的EdgePredicateFilter(advLinks);
DirectedSparMultigraph filtered=advPredicateFilter.transform(图形);
graphLayout=新布局(过滤);
((KKLayout)图形布局)。setMaxIterations(1000);
visualizationModel.setGraphLayout(graphLayout);
vv.repaint();
到目前为止,我只能用一个普通的布局来表示这个过滤过的网络,但是这些数据的组织性质丢失了。。。如何将DirectedSparMultigraph转换为DelegateTree?

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