Series con pushData
This content is not available in your language yet.
Una serie es una lista de valores con su marca de tiempo, ideal para gráficas e
historiales. Siempre se añade con pushData(clave, valor) — nunca con
varG.serie.push(...):
pushData("temperaturas", 23.5);Qué hace pushData
Sección titulada «Qué hace pushData»pushData hace tres cosas por ti:
- Crea la serie (
varG.temperaturas) si no existe. - Añade el valor a esa serie y añade el instante actual (en milisegundos) a una
serie companion llamada
<clave>_time(aquí,varG.temperaturas_time). - Mantiene ambas alineadas por posición: el valor en la posición
iocurrió en el tiempo de la posicióni.
Esa marca de tiempo precisa es la razón de usar pushData en lugar de tocar el arreglo
a mano: pushData es la fuente de verdad de los tiempos. Si haces
varG.temperaturas.push(x) por tu cuenta, el valor queda sin su tiempo y se desalinea
de temperaturas_time.
Reiniciar una serie
Sección titulada «Reiniciar una serie»Para empezar una serie de cero, asígnale un arreglo vacío en tu boardCode:
varG.temperaturas = [];Al recargar el boardCode, la plataforma detecta esa inicialización y también vacía su
companion temperaturas_time, de modo que valor y tiempo quedan otra vez alineados.
(Una orden de “reset” desde la web hace lo mismo: el arreglo vuelve a [] y su _time
también.)
La ventana de 2500 puntos
Sección titulada «La ventana de 2500 puntos»Cuando un consumidor (un tablero, un artefacto) carga el estado actual, la plataforma le entrega como máximo los últimos 2500 puntos de cada serie, con sus tiempos alineados. Los consumidores que ya están conectados en vivo reciben cada punto nuevo a medida que llega.
Ten en cuenta que la serie no se recorta sola mientras corre: si haces pushData
indefinidamente, el arreglo sigue creciendo en memoria. Para corridas largas:
- reinicia la serie cada cierto tiempo (
varG.x = []), o - agrega antes de publicar (por ejemplo, guarda un promedio por minuto en vez de cada lectura).