2010-02-20 28 views
5

Tôi đã viết một công cụ để tìm mối quan hệ phụ thuộc đằng sau một dự án Python. Đó là Gluttony. Tôi chạy nó trên Plone, kết quả thật ấn tượng. Tôi ra sơ đồ với Networkx, và nó trông như thế này: (! Gee Dường như World of Goo)Làm thế nào để xuất ra các biểu đồ quan hệ phụ thuộc lớn của Plone với Graphviz?

Dependency diagram of Plone, output by Networkx http://python-gluttony.googlecode.com/files/plone_nx.png

Một mớ hỗn độn! Tôi không xử lý bố cục với Networkx. Đó là lý do tại sao nó là một mớ hỗn độn. Công cụ này có thể xuất ra tập tin định dạng Graphviz. Tôi đã cố gắng vẽ biểu đồ bằng lệnh dấu chấm. Tôi sử dụng lệnh như sau:

dot -Kdot -Tpng -oplone plone.dot 

Tôi có một hình ảnh rất lớn sau khi chạy dài, nhưng kết quả có vẻ sai. Tôi không thể nhìn thấy bất cứ điều gì trên hình ảnh kết quả. Nó trông giống như một tờ giấy trắng, không có gì trên đó. Chuyện gì vậy? Sơ đồ có quá lớn để hiển thị không? Tôi nên làm gì để vẽ một biểu đồ phức tạp như vậy?

tôi có thể nhận được kết quả chính xác từ sơ đồ nhỏ khác, như thế này một: Dependency diagram of sprox http://python-gluttony.googlecode.com/files/sprox.png

Ngay cả một sơ đồ lớn hơn nhiều có thể được trả lại một cách chính xác, chúng ta hãy xem sơ đồ của TurboGears2

Tôi nghĩ rằng nó nên được vui vẻ để xem mối quan hệ phụ thuộc của dự án quái vật như Plone. Ngoài ra nó rất hữu ích cho việc nghiên cứu. Thật không may, tôi không thể xuất biểu đồ chính xác. Ai đó lạnh giúp tôi? Cảm ơn.

Dưới đây là các tập tin định dạng Graphviz của Plone: ​​ plone.dot

+0

Nếu hình ảnh lớn, trình xem hình ảnh của bạn có thể gặp sự cố. Tôi biết Crome và IE không thể hiển thị những hình ảnh graphviz khổng lồ mà tôi đã trả lại vài tháng trước. Hình ảnh –

Trả lời

1

Nếu bạn có thể tạo ra một hình ảnh: Graphviz có xu hướng tạo khổng lồ tập tin. Phóng to.

Đối với tôi, graphviz thường xuyên gặp sự cố trên tệp của bạn. Có vẻ như tối đa trên 32 kPixels mỗi bên và tệp của bạn sẽ lớn hơn, dẫn đến tràn số nguyên.

Hãy thử chia nhỏ tệp thành nhiều biểu đồ phụ (Các điểm bổ sung để sử dụng thuật toán đồ thị để tìm các điểm tách biệt tốt).

Cập nhật:

tôi ném lên một kịch bản nhanh chóng để split dot files. Nó không hoàn hảo, nhưng nó hoạt động hợp lý.

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