Tôi gặp sự cố khi hiển thị đồ thị lớn trong python và networkx. Biểu đồ muốn hiển thị trực tiếp, và có kích thước cạnh và đỉnh được đặt là 215.000 Từ tài liệu (được liên kết ở đầu trang) rõ ràng là hỗ trợ networkx vẽ bằng matplotlib
và GraphViz. Trong matplotlib
và networkx bản vẽ được thực hiện như sau:hiển thị đồ thị lớn với python và networkx
import
networkx as nx
import matplotlib.pyplot as plt
#Let g be a graph that I created
nx.draw(g)
tôi nhận được một lỗi bộ nhớ sau khi nx.draw(g)
, sau đó bạn vẫn thường làm plt.show()
hoặc plt [some_function] để lưu các tập tin trong một định dạng cho hiệu quả và vân vân. .
Tiếp theo tôi đã thử GraphViz. Từ wikipedia page định dạng dot
được sử dụng cho đồ thị có hướng và tôi đã tạo một dấu chấm file:
nx.write_dot(g, "g.dot")
này làm việc tốt và tôi đã có một dấu chấm tập tin trong thư mục hiện tại của tôi là 12 MB. Tiếp theo, tôi chạy chương trình dot
(một phần của graphviz để tạo ra một tập tin postscript):
dot -Tps g.dot -o g.ps
này làm chậm máy tính của tôi, chạy trong một vài phút và sau đó hiển thị Killed
tại nhà ga. Vì vậy, nó không bao giờ có thể thực hiện ... Trong khi đọc tài liệu cho graphviz có vẻ như chỉ có đồ thị không được kiểm soát được hỗ trợ để hiển thị đồ thị lớn.
Câu hỏi: Với những hai lần thất bại bất cứ ai có thể chỉ cho tôi làm thế nào để hình dung đồ thị lớn của tôi sử dụng python và networkx với khoảng 215.000 đỉnh và 215.000 cạnh? Tôi nghi ngờ như với Graphviz tôi sẽ phải xuất sang định dạng trung gian (mặc dù điều này không khó đến mức nó sẽ không dễ dàng như hàm dựng sẵn) và sau đó sử dụng công cụ khác để đọc định dạng trung gian rồi xuất hiện trực quan .
Vì vậy, tôi đang tìm kiếm những điều sau đây:
- Output đồ thị từ networkx thành một định dạng trung gian
- Với mới gói/phần mềm/công cụ (lý tưởng python tương tác) đọc định dạng trung gian và hình dung lớn biểu đồ
Nếu bạn cần thêm thông tin, hãy cho tôi biết!
Hãy tưởng tượng bạn đã thành công trong việc tạo hình ảnh PostScript của biểu đồ lớn này. Bạn sẽ làm gì với nó? Giả sử bạn dành 10 giây để xem mỗi nút. nó sẽ đưa bạn gần 25 ngày để kiểm tra toàn bộ đồ thị. Dường như với tôi hơn là hiển thị toàn bộ điều (như một hình ảnh PostScript), bạn cần một số cách để "phóng to" trên các đồ thị quan tâm. – unutbu
Tôi muốn có ý tưởng về đồ thị của tôi trông như thế nào. Sau khi tôi có một ý tưởng, tôi sẽ tập trung vào các biểu đồ con, đồ cổ, cộng đồng ... – CodeKingPlusPlus