2012-12-03 29 views
8

Cập nhật: Dưới đây là một ví dụ về vấn đề này - http://jsfiddle.net/Hffks/2/D3 dòng hoạt động như một đường khép kín

Tôi đang cố gắng sử dụng D3 mã một đồ thị dòng và dòng của tôi đang được đóng ở cuối, nhờ đó Tôi có nghĩa là nó đóng vai trò như một con đường khép kín, nơi các điểm đầu tiên và cuối cùng là như nhau. Dữ liệu của tôi đi kèm trong các định dạng JSON sau:

[ entityA : [ { time : 1230000, // time since epoch 
      attribute1 : 123 // numeric value 
      attribute2 : 123 // numeric value 
      }, 
       { time : 1230010, // time since epoch 
       attribute1 : 123 // numeric value 
       attribute2 : 123 // numeric value 
      } ], 
    entityB : [ { ... // same format as above 
    ... 
] 

Tôi đang sử dụng một tuyên bố tiêu chuẩn của một dòng (d3.svg.line với một chức năng cho x và y):

var line = d3.svg.line() 
     .x(function(d) { 
      return x_scale(d.c_date)); 
     }) 
     .y(function(d) { 
      return y_scale(d.total); 
     }); 

Sau đó bên trong một vòng lặp for mà lặp trên các thực thể tôi phụ thêm một "svg: đường dẫn":

canvas.append("svg:path") 
      .attr("d", line(data[entity])) 

Mọi thứ khác về các tác phẩm đồ thị: các điểm được đặt một cách chính xác, tôi có nhiều dòng độc lập cho mỗi thực thể, các trục là rút ra, e Tuy nhiên, mỗi dòng độc lập đóng vai trò như một con đường khép kín.

Cảm ơn bạn đã giúp đỡ!

+1

Không được tự đóng đường dẫn. Bạn có thể cung cấp một ví dụ hoàn chỉnh nhỏ, ví dụ: tại [jsfiddle] (http://jsfiddle.net/)? –

+0

Dưới đây là khá nhiều những gì tôi đã làm: http://jsfiddle.net/Hffks/2/ – user1872632

+0

Nó không thực sự tạo ra một con đường khép kín, nó chỉ điền nó theo mặc định. Nếu bạn đặt điền và đột quỵ rõ ràng bạn sẽ thấy các dòng riêng lẻ. Đây có phải là những gì bạn đang tìm kiếm không? http://jsfiddle.net/Hffks/3/ –

Trả lời

15

Đường dẫn được điền theo mặc định. Nếu bạn đặt fill thành "không" và stroke thành "màu đen", bạn sẽ thấy rằng đường dẫn không bị đóng, dường như nó đã xuất hiện.

Làm việc fiddle: http://jsfiddle.net/Hffks/3/

+0

Cảm ơn bạn @ lars-kotthoff đề xuất của bạn thực sự hữu ích. – Laxman

+0

Là người mới bắt đầu vẽ D3 và SVG nói chung loại điều này thực sự không rõ ràng haha. Tôi vui vì tôi đã xem xét giải pháp của bạn. –

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