2013-03-06 32 views
20

Tôi đang sử dụng d3.js để tạo biểu đồ đường đơn giản. Tôi muốn biết nếu có một cách để tạo ra "lỗ hổng" trong đồ thị, có nghĩa là, nếu dòng có thể bị gián đoạn hoặc cắt khi không có dữ liệu có sẵn.Vẽ các đường không liên tục với d3

Tôi đang xem xét xóa các địa điểm tôi không cần từ miền hoặc đặt trọng số đường thẳng thành 0 trong các phân đoạn cụ thể, nhưng tôi không thể tìm cách thực hiện một trong hai cách này.

Cảm ơn sự giúp đỡ của bạn!

Trả lời

43

Máy phát điện D3 line có chức năng tích hợp để thực hiện việc này, line.defined. Bạn có thể sử dụng hàm này để kiểm soát vị trí dòng của bạn được xác định và vị trí của nó không giống như nơi bạn thiếu dữ liệu. Nếu bạn muốn làm cho dòng của bạn không xác định bất cứ khi nào giá trị thứ hai trong mảng điểm là giá trị NaN javascript, bạn có thể nói:

line.defined(function(d) { return !isNaN(d[1]); }); 

Here là ví dụ điển hình về hành động này.

+0

Ví dụ của bạn sẽ không hoạt động (như dự định) vì nếu 'd' là' null', hàm sẽ không bao giờ được gọi hoặc không thể xác định vị trí không xác định là (trên trục x, ví dụ). Trong mã khối, mã được sử dụng là 'return d.y! = Null'. – Rouby

+0

Cảm ơn @Rouby. Tôi đã cập nhật câu trả lời bằng ví dụ hiện tại từ tài liệu API. – Josh

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