Jestem nowy w JUNG. Próbowałem narysować wykres drzewa używając TreeLayout, ale drzewo nigdy nie wychodzi jak prawdziwe drzewo. Za każdym razem, gdy drzewo wygląda inaczej. Jak mogę sprawić, by drzewo wyglądało jak normalne drzewo z korzeniem na górze & z pozostałych węzłów z niego pochodzących?Jak mogę narysować hierarchię drzewa przy użyciu JUNG?
7
A
Odpowiedz
5
Musisz zainicjować TreeLayout
po dodaniu Vertexes do wykresu, próbowałem tego i zadziałało dla mnie.
Musisz zrobić coś jak następuje: (proszę zauważyć, że jest to 1 rok stary kod, który miałem, może się okazać, że jest to trochę przestarzałe)
Layout<GraphVertex, GraphEdge> layout; //create a layout
layout = new TreeLayout<GraphVertex, GraphEdge>((Forest<GraphVertex, GraphEdge>) g);
// initialize your layout using the graph you created, which has to be of type forest
vv.setGraphLayout(layout);
// set the layout of the visualization viewer you are using to be the layout you just created (the tree layout)
GraphVertex
jest klasa który reprezentuje wierzchołek na wykresie, GraphEdge
reprezentuje krawędzie na wykresie.
i jaki byłby typ danych zmiennej g w przykładowym kodzie? (Użyłem SparseGraph, a błąd runtime polega na tym, że SparseGraph nie może być rzutowany na edu.uci.ics.jung.graph.Forest). – bikashg
@bikashg To powinno być coś, co implementuje [Forest] (http: //jung.sourceforge. net/doc/api/edu/uci/ics/jung/graph/Forest.html), podobnie jak te: DelegateForest, DelegateTree, OrderedKAryTree (z dokumentacji), W moim przypadku miałem własną implementację interfejsu Forest. –
tak, to się udało. dzięki. – bikashg