2013-02-12 30 views
12

Tôi đã xem qua Graphviz resources page và các câu hỏi 12 và vẫn không thể tìm thấy câu trả lời cụ thể. Usecase của tôi đang duyệt phụ thuộc giữa các thành phần phần mềm (ví dụ: các gói có thể cài đặt) và một đặc điểm riêng với nó là một số nút chung là các mục tiêu cho nhiều cạnh. Ví dụ, hầu như mọi gói thực thi đều phụ thuộc vào libc.Trình xem tương tác Graphviz với bộ lọc nút/cạnh cơ bản

Dựa trên đặc điểm đó, tôi muốn có người xem/thư viện với khả năng sau đây:

algos
  1. Sử dụng Graphviz "chấm" thuật toán bố trí (lực lượng bố trí mà rất nhiều trong libs khác nhau không cung cấp tốt chất lượng bố cục cho bản thảo đã được thảo luận).
  2. Vô hiệu hóa tương tác/bật lại một số nút trong biểu đồ (ví dụ về libc ở trên).
  3. Vô hiệu hóa tương tác/bật lại tất cả được vuốt từ một nút cụ thể (ví dụ: libpng phụ thuộc vào libz, nhưng điều đó hiển nhiên và có thể bị vô hiệu hóa để không xem lộn xộn).
  4. Đồ thị lại gốc tại một số nút (hiển thị biểu đồ con chỉ với các nút có thể truy cập từ nút đó) và "thu nhỏ lại" để hoàn thành biểu đồ.

Lý tưởng nhất, đây sẽ là thư viện Javascript, cho phép các thao tác phức tạp hơn dễ triển khai. Điều quan trọng là hành vi xem cơ bản như được mô tả ở trên đã có sẵn trong hộp - một lần nữa, tôi không thể tìm thấy thứ gì như vậy, với nhiều giải pháp là người xem tĩnh hoặc "trình chỉnh sửa tự do" cho phép kéo các nút xung quanh, nhưng không phải đủ hành vi cấp cao và hữu ích.

Cuối cùng, nếu giải pháp đó không tồn tại, đề xuất cho khuôn khổ tốt nhất để triển khai các tính năng đó được hoan nghênh.

Trả lời

3

Tôi đã tìm thấy số xdot.py của José Fonseca là ứng dụng dựa trên Python và Cairo cực kỳ thú vị để xem các tệp Graphviz. Nó rất tốt bằng văn bản và có giao diện người dùng tốt đẹp như vậy mà người ta có thể tự hỏi tại sao nó là một chút adhoc trong hỗ trợ tương tác của nó, không cho phép mở rộng hơn ra khỏi hộp. Tôi hiện đang hack nó tại https://github.com/pfalcon/xdot.py

Cập nhật: Tôi cam kết bằng chứng về việc triển khai khái niệm các tính năng ở trên như filter-viewer.py. Có khả năng được đổi tên sau.

9

Gephi, https://gephi.org/, nó hỗ trợ nhiều định dạng biểu đồ, tất nhiên, bao gồm dấu chấm Graphviz. Nó có thể lọc các nút hoặc các cạnh và có một số chức năng phân tích.

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