2013-11-21 21 views
7

Tôi đã cố gắng phát triển một ứng dụng dựa trên web để trợ giúp trong việc vẽ đồ thị các nút và tương tác của chúng.Thuật toán đồ thị cho nhiều nút

Tôi đã cố gắng sử dụng Sigma.J với phần mở rộng Force Atlas.

Đối với các thử nghiệm đơn giản của tôi (vài nút), kết quả khá đẹp, tuy nhiên với thêm một nghìn nút, kết quả trở nên khá lộn xộn.

Many nodes vs Few Nodes

Có cách nào để kết quả có thể xem được không? (dễ dàng hơn trên mắt/không chỉ 1 đốm lớn) Làm thế nào tôi sẽ đi về việc này? Có bất kỳ thuật toán nào đã được viết (mà tôi có thể thực hiện không?)

+3

Tìm kiếm của Google "thuật toán phân cụm đồ thị" hoặc "phân cụm biểu đồ phân cấp". – JayC

+2

Bạn sử dụng SCC để chia biểu đồ thành không có thành phần nhỏ hơn (đại diện cho từng SCC dưới dạng một nút mở rộng khi chọn) –

+0

SCC == Thành phần được kết nối mạnh? – 1478963

Trả lời

2

Bạn có thể thử bố cục lực Fruchterman-Reingold (có sigma plugin). Nó đặc biệt giảm thiểu số lượng các liên kết chéo nhau, vì vậy nó nói chung phù hợp hơn cho các đồ thị lớn (trừ khi tất cả các nút có nhiều kết nối).

Ngoài ra, fisheye plugin có thể giúp bạn hiểu rõ hơn về biểu đồ sau khi nó được vẽ.

2

sigma.layout.forceAtlas2 cân tốt hơn nhiều, tuy nhiên nó sẽ không làm phép lạ nếu biểu đồ có mật độ kết nối mạnh.

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