2013-05-15 25 views
7

Tôi đang sử dụng bố cục lực để đại diện cho một mạng không được chỉ định. nguồn cảm hứng của tôi xuất phát từ ví dụ sau: http://bl.ocks.org/mbostock/1153292Dừng bố cục lực trên d3js và bắt đầu các nút kéo tự do

enter image description here

Kể từ khi dữ liệu riêng của tôi là thực sự là một mớ hỗn độn, tôi muốn dừng lại cách bố trí và di chuyển các nút bằng cách kéo chúng bằng tay. Tôi cũng muốn rằng chuyển động của một nút không thay đổi vị trí của người khác. Và điều cần thiết là các liên kết trở nên dài hơn, để đến được nút đã được di chuyển.

Có cách nào đơn giản để thực hiện việc này không?

+0

Bạn có thể gọi 'force.stop()' để dừng mô phỏng. –

+0

không sao, nhưng sau đó? –

+0

Sau đó, chuyển động của các nút sẽ dừng lại. –

Trả lời

0
function nameOfFunction() { 
    d3.selectAll(".classOfYourNodes").each(
     function(d) { 
      d.fixed = true; 
     } 
    ) 
} 

Phương pháp .each gọi hàm vô danh, mà trong trường hợp này sẽ đặt thuộc tính "cố định" để đúng đối với tất cả các nút trong vùng chọn.

Chỉnh sửa: Ở trên liên quan đến nhận xét của bạn về việc muốn dừng tất cả các nút và không có mô phỏng lực tiếp tục khi bạn kéo nút, như gọi force.stop().

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