2014-07-21 22 views
5

Tôi đang sử dụng c3.js và c3.css để tạo một vài biểu đồ trên một trang. Tôi có nhiều biểu đồ và muốn cập nhật dữ liệu sau mỗi 60 giây để tôi sử dụng khoảng thời gian đã đặt, nhận dữ liệu cập nhật và sau đó tải nó vào biểu đồ, tuy nhiên, nó đặt tất cả dữ liệu trong biểu đồ được tạo gần đây nhất. Tôi đã cố gắng thêm một bindto vào dữ liệu để nó đi vào đồ thị chính xác, nhưng nó vẫn tải lên đồ thị dưới cùng. Làm thế nào tôi có thể sửa lỗi này?biểu đồ c3.load với nhiều biểu đồ

... 
<div id='chart1'></div> 
<div id='chart2'></div> 
... 
function update()//this function collects the new data in arrays cols and xrows 
... 
setInterval(function(){ 
    update(); 
    chart.unload(); 
    chart.load({bindto:'#chart1',columns:cols, xs:xrows}); 
},3000); 
+1

Bạn vẫn đang tìm câu trả lời? – yuvi

+0

cách bạn quản lý để thực hiện việc này? – Baig

+0

Có vẻ như anh ta đang ghi đè biến 'biểu đồ', vì vậy đó là lý do tại sao nó luôn cập nhật biểu đồ cuối cùng –

Trả lời

2

Đối hiển thị dữ liệu cập nhật atfirst

  • ẩn trước dữ liệu của DIV
  • Sử dụng CLEAR để làm sạch dữ liệu
  • Again Tải DIV
0

Nếu ai vẫn tìm cách để làm điều này tôi đã tìm thấy một giải pháp.

Khi bạn tạo mỗi biểu đồ, tuyên bố kết thúc với:

}); }, chart = generate(); 

Nếu bạn đổi tên biểu đồ như sau:

}); }, first_chart = generate(); 

Sau đó, bạn có thể thao tác mà biểu đồ như sau:

first_chart.load ({ <some_stuff> }) 

Đặt cho mỗi biến biểu đồ một tên riêng biệt và bạn có thể chỉnh sửa chúng một cách rõ ràng.

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