Quiero preparar un gráfico alto de acciones de línea como este ejemplo: https://www.highcharts.com/demo/stock/lazy-loading
En el ejemplo dado, cuando carga el gráfico por primera vez, llama a https://demo-live-data.highcharts.com/aapl-historical.json
y obtiene algunos puntos, para ser precisos, 0-165 registros (si revisas la pestaña de red y llamas ajax). Al mismo tiempo, la opción All
está seleccionada en la herramienta de rango de tiempo.
Si profundiza más o busca un rango de tiempo específico, siempre traerá más datos del servidor.
Pregunta : Si tiene millones de puntos de datos, considere de 2000 a 2022 años, luego para la opción All
, ¿qué va a mostrar? ¿Cuál debería ser el conjunto de datos inicial o el resultado o el filtro?
NOTA : Tendré millones de puntos de datos de 2000 a 2022 años en el futuro. Cuando cargo el gráfico por primera vez, de estos millones de puntos, ¿qué debería salir del servidor?
Solo para su referencia, puede consultar el ejemplo de los datos de la serie temporal que voy a tener en la carpeta/archivo mock-data=>i.js
que NO se está utilizando en ningún lugar en el siguiente ejemplo a partir de ahora.
Ejemplo de Highcharts de 1,7 millones de puntos: https://stackblitz.com/edit/js-wng4y6?file=index.js
PD : soy nuevo en stockhighcharts y parece que no encuentro ninguna explicación adecuada en ninguna parte. Tratando de llegar a la comunidad para obtener más ayuda.
La agrupación de datos del lado del servidor debe realizarse en función del rango con el que intenta agrupar los datos, por lo que Todo significa nada; sin embargo, en su caso, serán 2 años.
Para la agrupación de datos, también puede considerar el tamaño del gráfico (esto se hace de forma predeterminada para una función de agrupación de datos que se ejecuta en el lado del cliente en Highcharts Stock). Cuando se pasa información relevante al servidor, debe devolver un conjunto de puntos de datos agrupados.
Acerca de la lógica de agrupación, puede encontrar más en las opciones de API, donde se encuentra el método de aproximación dentro de un grupo. https://api.highcharts.com/highstock/series.area.dataGrouping.approximation
Enviar tantos datos a Highcharts para su procesamiento es generar problemas. Recomiendo encarecidamente crear un servidor local de Highcharts (algo que admitan) y hacerlo dentro de su sistema. Véalo aquí
Esto también es muy importante cuando se trata de seguridad (si sus datos son confidenciales), hacer que corra a través de Internet a gráficos altos y luego se los devuelva lo deja abierto al mundo.
Desde aquí, también puede especificar la hora de inicio y finalización de cada procesamiento y hacer que ese cambio se base en la entrada del usuario. Personalmente, generalmente mostraría los últimos 5 días o algo así, y luego, si alguien quisiera, podría tirar del control deslizante completamente hacia atrás durante la última cantidad significativa de tiempo.
Pero, para responder a su pregunta, cuando envía un objeto de datos a highcharts, ya sea un servidor local o el servidor de highcharts, obtendrá una imagen base64 que puede incrustar directamente en su interfaz de usuario.