Graphique Google - supprimer des lignes de data.cache JSFiddle

Nov 30 2020

La tâche consiste à n'afficher que les 5 derniers enregistrements dans le graphique Google. Lorsque vous déplacez le curseur, à la fin, les données s'ajoutent. Les enregistrements proviennent d'un "slider", plus tard seront remplacés par des données live senzor.

hAxis est un horodatage donc je ne sais pas comment utiliser:

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

La question est de savoir comment supprimer des lignes du cache de données?

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

Réponses

1 WhiteHat Nov 30 2020 at 19:25

lorsque vous utilisez l'horodatage sur l'axe des x,
vous pouvez utiliser un objet date directement, pas besoin de le convertir en chaîne.

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

et pour contrôler la plage affichée sur l'axe des x,
viewWindowmin et max doivent être du même type de données.
dans ce cas, une date.

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

Comme @WhiteHat l'a dit, vous pouvez utiliser data.getColumnRange, puis extraire min & max.

Dans mon cas, je n'ai besoin de montrer que les derniers enregistrements, peu importe les dates. J'avais donc besoin de cette partie de code:

data.removeRow(0); 

Répondre

    // 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);
    }

Violon finlandais