我查看通過Graphviz resources page,並且問題1和2仍然無法找到具體答案。我的用例是瀏覽軟件組件(例如可安裝的軟件包)之間的依賴關係,並且一個特定的特徵是它的一些常見節點是許多邊緣的目標。例如,幾乎每個可執行程序包都依賴於libc。具有基本節點/邊緣過濾功能的交互式Graphviz查看器
基礎上特質,我想有瀏覽器/庫以下功能:
- 使用Graphviz的「點」佈局算法(力佈局交易算法其中有很多不同的庫不提供良好討論用例的佈局質量)。
- 交互式禁用/重新啓用圖形中的某個節點(上面的libc示例)。
- 交互式禁用/重新啓用來自特定節點的所有邊緣(例如,libpng依賴於libz,但這很明顯,並且可以禁用以避免混亂視圖)。
- 在某個節點(顯示只有節點可到達該節點的子圖)的重新根圖,以及「放大」以完成圖形。
理想情況下,這將是一個Javascript庫,這將允許更容易實現的更復雜的操作功能。重要的是,如上所述的基本觀看行爲是開箱即用的 - 再一次,我找不到這樣的東西,許多解決方案都是靜態觀看者,或者「自由形式編輯器」允許拖動節點,但不能與足夠高水平和有用的行爲。
最後,如果此類解決方案不存在,歡迎提供實現這些功能的最佳框架的建議。