Biểu đồ của Google - xóa các hàng khỏi data.cache JSFiddle

Nov 30 2020

Nhiệm vụ là chỉ hiển thị 5 bản ghi cuối cùng trong biểu đồ google. Khi bạn di chuyển thanh trượt, dữ liệu sẽ được thêm vào. Bản ghi là từ một số "thanh trượt", sau này sẽ được thay thế bằng một số dữ liệu senzor trực tiếp.

hAxis là dấu thời gian nên tôi không biết cách sử dụng:

 viewWindowMode: 'explicit',
                // viewWindow: {
                //   min: 0,
                //   max: 4
                // },

Đặt câu hỏi là làm thế nào để loại bỏ các hàng khỏi bộ nhớ cache dữ liệu?

JSFiddle :https://jsfiddle.net/ejovrh2/k59u6be3/17/

Trả lời

1 WhiteHat Nov 30 2020 at 19:25

khi sử dụng dấu thời gian trên trục x,
bạn có thể sử dụng trực tiếp đối tượng ngày tháng mà không cần chuyển đổi thành chuỗi.

var data = google.visualization.arrayToDataTable([
  ["Date", "level"],
  [new Date(), level],
]);

và để kiểm soát phạm vi hiển thị trên trục x,
viewWindowtối thiểu & tối đa phải là cùng một loại dữ liệu.
trong trường hợp này, một ngày.

viewWindow: {
  min: new Date(2020, 10, 1),
  max: new Date(2020, 10, 30)
},
ejovrh2 Dec 04 2020 at 16:34

Như @WhiteHat đã nói, bạn có thể sử dụng data.getColumnRange và sau đó trích xuất min & max.

Trong trường hợp của tôi, tôi chỉ cần hiển thị một số bản ghi cuối cùng bất kể ngày tháng. Vì vậy, tôi cần một phần mã này:

data.removeRow(0); 

Câu trả lời

    // when data is populated with 4 rows, remove first one [0]
    if (data.cache.length>4){
    data.removeRow(0); 
   // just to see range and how is removing first element
    var dateRange = data.getColumnRange(0);
    console.log(dateRange);
    }

Fiddle Phần Lan