2012-07-05 47 views
9

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.

+4

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

Trả lời

5

Thư viện Dagre cho đạo diễn vẽ đồ thị là render-agnostic, nhưng tích hợp tốt với d3.js: https://github.com/cpettitt/dagre

Dưới đây là một bản demo render sử dụng D3: http://cpettitt.github.io/project/dagre-d3/latest/demo/interactive-demo.html

+1

Chúng tôi thực sự đã đi theo tuyến đường Dagre: https://github.com/evilmartians/furnace-xray – whitequark

+0

bạn có liên kết bị hỏng – Sheena

+0

Đây là liên kết đến bản trình diễn Dagre D3: http://cpettitt.github.io/project/dagre-d3/latest/demo/interactive-demo.html – peater

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