Hình dung một đồ thị với một triệu đỉnh


17

Công cụ tốt nhất để sử dụng để trực quan hóa (vẽ các đỉnh và cạnh) một biểu đồ với 1000000 đỉnh là gì? Có khoảng 50000 cạnh trong biểu đồ. Và tôi có thể tính toán vị trí của các đỉnh và cạnh riêng lẻ.

Tôi đang suy nghĩ về việc viết một chương trình để tạo ra một Svg. Bất cứ một đề nghị nào khác?


bạn có thể dùng thử Graphviz ... không chắc nó có quy mô lên tới hàng triệu đỉnh không ....
Khởi nghĩa

Hy vọng rằng một câu trả lời cho câu hỏi này có thể chạm vào cách tạo ra các biểu đồ như thế này: Medium.com/i-data/iêu
Shadowtalker

Xin chào @Cici, thông thường các câu hỏi về các công cụ được đề xuất không được khuyến khích trên trang này và các trang SE khác, vì chúng chỉ mời rất nhiều ý kiến.
Sean Owen

Câu trả lời:


19

Tôi cũng đề xuất Gephiphần mềm ( https://gephi.github.io ), có vẻ như khá mạnh mẽ. Một số thông tin bổ sung về việc sử dụng Gephivới các mạng lớn có thể được tìm thấy ở đây và, nói chung hơn, ở đây . Cytoscape( http://www.cytoscape.org ) là một giải pháp thay thế Gephi, là một nền tảng phổ biến khác để phân tích và trực quan hóa mạng phức tạp.

Nếu bạn muốn làm việc với các mạng theo chương trình (bao gồm trực quan hóa) trong R, Python hoặc C / C ++, bạn có thể kiểm tra igraphbộ sưu tập các thư viện. Nói về R, bạn có thể thấy thú vị các bài đăng trên blog sau: về việc sử dụng R với Cytoscape ( http://www.vesnam.com/Rblog/viznets1 ) và sử dụng R với Gephi ( http://www.vesnam.com/ Rblog / viznets2 ).

Để biết danh sách rộng rãi các phần mềm phân tích và trực quan hóa mạng , bao gồm một số so sánh và đánh giá, bạn có thể muốn kiểm tra các trang sau: 1) http://wiki.cytoscape.org/Network_analysis_links ; 2) http://www.kdnuggets.com/software/social-network-analysis.html ; 3) http://www.activatenetworks.net/social-network-analysis-sna-software-review .


8

https://gephi.github.io/ nói rằng nó có thể xử lý một triệu cạnh. Nếu đồ thị của bạn có 1000000 đỉnh và chỉ có 50000 cạnh thì hầu hết các đỉnh của bạn sẽ không có bất kỳ cạnh nào.

Trong thực tế, thông số Gephi là ví dụ kép của bạn: "Mạng lên tới 50.000 nút và 1.000.000 cạnh"


8

Tôi nghĩ rằng, điều đó Gephicó thể phải đối mặt với vấn đề thiếu bộ nhớ, bạn sẽ cần ít nhất 8Gb RAM. Mặc dù số lượng các cạnh không phải là rất lớn.

Có thể, công cụ thích hợp hơn trong trường hợp này sẽ là GraphViz. Đây là một công cụ dòng lệnh để trực quan hóa mạng và có lẽ sẽ khoan dung hơn với kích thước biểu đồ. Hơn nữa, như tôi nhớ, GraphVizcó thể sử dụng tọa độ được tính toán trước để tạo điều kiện tính toán.

Tôi đã cố gắng tìm một ví dụ thực tế về việc sử dụng GraphVizvới các biểu đồ khổng lồ, nhưng không thành công. Mặc dù tôi đã tìm thấy cuộc thảo luận tương tự về Khoa học tính toán .


4

Báo cáo lại: Tôi đã kết thúc việc mã hóa graphml và sử dụng yEd để trực quan hóa (chỉ vì tôi quen với sự kết hợp này. Tôi cá là gephi hoặc graphviz sẽ hoạt động tốt và thậm chí có thể tốt hơn). Vì tôi đã tính toán vị trí của tất cả các nút, bộ nhớ không phải là vấn đề lớn. Mã hóa graphml dễ dàng hơn một chút so với mã hóa Svg, vì tôi không phải xác định rõ ràng vị trí của các cạnh.


2

PajekXXL được thiết kế để xử lý các mạng lưới khổng lồ. Nhưng Pajek cũng là một chương trình kỳ quái với giao diện không trực quan.


2

Tôi muốn giới thiệu để sử dụng đồ họa. Gephi phụ thuộc rất nhiều vào RAM của máy tính mà rõ ràng là có giới hạn. Mặt khác, đồ họa hiển thị chỉ là một số Nút giới hạn, qua đó bạn có thể điều hướng đến các nút khác. Tôi đã hình dung ra một biểu đồ với 700 triệu đỉnh bằng cách sử dụng Graphapi làm UI và Janusgraph với HBase làm bộ lưu trữ phía sau. https://github.com/bricaud/graphapi


Có thật không? đối với tôi nó bắt đầu nghẹt thở khi cố gắng hiển thị hơn 100 đỉnh
BrDaHa

Tốc độ phụ thuộc chủ yếu vào cơ sở dữ liệu phía sau và khả năng tính toán. Đồ thị chỉ là UI.
Sandeep Kumar

Tôi nhận ra điều đó, nhưng bằng cách "nghẹt thở", ý tôi là tốc độ làm mới sẽ giảm xuống 1-2 khung hình / giây khi hoạt hình các nút trên màn hình. Có thể giúp lưu ý rằng đây là trên một phiên bản Safari gần đây
BrDaHa

0

Hãy nhìn vào Graphistry , họ có thể xử lý các nút 1 triệu và cạnh.


Đúng, Đồ họa là công cụ trực quan tương tác duy nhất cho các đồ thị lớn vì nó chạy từ đầu đến cuối trên GPU cho bạn.
Leo Meyerovich
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.