2011-02-20 34 views
7

Tôi đang sử dụng networkx (gói vẽ đồ thị python) http://networkx.lanl.gov/index.html cho một trong các dự án của tôi. Mặc dù networkx là khá mát mẻ, các chức năng hiển thị loại sucks do số lượng các cạnh chéo. Có cách nào để giảm thiểu các cạnh chéo trong biểu đồ không? Tôi có nghĩa là một thuật toán có thể sắp xếp các nút theo cách sao cho các cạnh chéo được giảm thiểu?Giảm thiểu các cạnh chéo trong biểu đồ

+0

Bạn đã thử Graphviz cho bản vẽ của mình chưa? Nó có thể làm tốt hơn trong việc giảm thiểu giao cắt (đặc biệt là Dot nếu bạn có loại đồ thị mà nó thích). Bạn có loại đồ thị nào (tức là, nó xuất phát từ đâu)? –

+0

Tôi nghĩ networkx sử dụng graphviz để hiển thị (thông qua pydot). Các biểu đồ này là từ dấu vết của loại mạng đặc biệt. Nhẫn là số lần truy cập tồi tệ nhất: ( –

+0

có thể trùng lặp của [Sơ đồ bố cục phẳng] (http://stackoverflow.com/questions/2347748/planar-graph-layouts) –

Trả lời

3

Xác định bố cục biểu đồ phẳng giúp giảm thiểu số lần giao cắt là NP-Hard. Xem trang wiki trên Crossing Number.

Bạn có thể thử một số chẩn đoán, bố cục dựa trên lực là khá phổ biến mà tôi tin (graphviz sử dụng chúng, nếu tôi nhớ lại chính xác).

Bạn cũng có thể thử một số thuật toán gần đúng, bạn nên tìm các tham chiếu trên trang wiki mà tôi đã liên kết.

Hy vọng điều đó sẽ hữu ích.

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