2010-04-08 33 views
7

Tôi mới đến JUNG. Tôi cố gắng vẽ một biểu đồ của một cái cây bằng TreeLayout nhưng cây không bao giờ xuất hiện như một cái cây thật. Mỗi lần cây trông khác nhau. Làm thế nào tôi có thể làm cho cây trông giống như một cây bình thường với gốc trên đầu trang & phần còn lại của các nút giảm dần từ nó?làm thế nào tôi có thể vẽ một hệ thống phân cấp cây bằng cách sử dụng JUNG?

Trả lời

5

Bạn phải khởi tạo TreeLayout sau khi thêm Vertexes vào biểu đồ, tôi đã thử nó và nó đã làm việc cho tôi.

Bạn phải làm một cái gì đó như sau: (xin lưu ý rằng đây là một mã cũ 1 năm mà tôi đã có, bạn có thể thấy nó trở thành một hiện ít ngày)

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 là lớp đại diện cho một đỉnh trong biểu đồ, GraphEdge đại diện cho các cạnh trong biểu đồ của bạn.

+0

và loại dữ liệu của biến g trong mã ví dụ của bạn là gì? (Tôi đã sử dụng SparseGraph và lỗi thời gian chạy là SparseGraph không thể chuyển sang edu.uci.ics.jung.graph.Forest) – bikashg

+0

@bikashg Nó phải là một cái gì đó thực hiện [Forest] (http: //jung.sourceforge. net/doc/api/edu/uci/ics/jung/đồ thị/Forest.html) giao diện, như thế này: DelegateForest, DelegateTree, OrderedKAryTree (từ tài liệu), Trong trường hợp của tôi, tôi đã thực hiện giao diện Forest của riêng tôi. –

+0

vâng, điều đó đã xảy ra. cảm ơn. – bikashg

Các vấn đề liên quan