Tôi hiện đang sử dụng Graphviz để hiển thị đồ thị điều khiển luồng. Về cơ bản, đồ thị điều khiển (có thể giảm) là một DAG cộng với một số cạnh trỏ ngược lại các nút trong các lớp trước đó. Các cạnh sau không nên ảnh hưởng đến vị trí nút.Đồ thị phân lớp trong d3.js
Hiện tại, dot
vẽ đồ thị khá gọn gàng, nhưng thiếu một cách dễ dàng để thêm tương tác (ví dụ: gấp, cuộn, thu phóng), là vô giá để phân tích đồ thị rất lớn. Do đó, tôi đã chọn d3.js làm thư viện đồ họa đa dạng nhất và giàu tính năng.
Tôi khá chắc chắn rằng có một cách dễ dàng để vẽ layered graphs (cũng như dot
) trong d3.js, nhưng dường như tôi không nhận ra nó. Làm thế nào để làm điều đó? Nếu điều này giúp, tôi đã thực hiện phân tích thống trị trên CFG của tôi.
Hình như có một yêu cầu tính năng chưa giải quyết trong d3: https://github.com/mbostock/d3/issues/349 – whitequark