Tengo un gráfico con información sobre herramientas. Allí muestro la fecha y el precio del punto actual.
var toolTipWidth = 125; var width = 600; var toolTip = document.createElement('div'); toolTip.className = 'tooltip'; chartContainer.appendChild(toolTip); chart.subscribeCrosshairMove(function(param) { if (!param.time || param.point.x < 0 || param.point.x > width || param.point.y < 0 || param.point.y > height) { toolTip.style.display = 'none'; return; } let price = param.seriesPrices.get(areaSeries); let date = LightweightCharts.isBusinessDay(param.time) ? businessDayToString(param.time) : new Date(param.time * 1000).toLocaleDateString(); toolTip.innerHTML = `<div class="tooltip__price">${price}</div><div class="tooltip__time">${date}</div>`; let left = param.point.x - toolTipWidth / 2; left = Math.max(0, Math.min(width - toolTipWidth, left)); toolTip.style.left = left + 'px'; });En el gráfico, necesito mostrar la dinámica del crecimiento (cuánto ha cambiado la cantidad, si ha habido un aumento o una disminución, cuánto es como porcentaje). Para hacer esto, necesito obtener el punto anterior y compararlo con el actual. Pero solo se pasa un punto del gráfico a la función de información sobre herramientas. ¿Cómo obtener el valor anterior?
Esto no es posible para la v3.7 y las próximas versiones de la v3.8, por lo que debe almacenar sus datos en algún lugar y luego usarlos para encontrar un punto de datos anterior.
En la próxima actualización importante v4.0, la biblioteca incluirá un nuevo método ISeriesApi.dataByIndex que podría usar para obtener datos para el índice lógico (consulte PR con cambios ).