#highcharts
Вопрос:
У меня есть нулевое значение на линейном графике HighCharts. Я установил connectNulls: true
так, чтобы линия не отключалась, когда данные равны нулю. Однако я не могу навести курсор на это нулевое значение. Когда я пытаюсь это сделать, он автоматически переходит к ближайшей ненулевой точке.
Скрипка: https://jsfiddle.net/wmoxLy4r/2/
То, что я пытаюсь сделать, это:
1/ Разрешить наведение указателя мыши на нулевые значения
2/ При наведении курсора на нулевые значения я хотел бы показать значение ближайшего ненулевого значения слева. В этом случае это было бы заметно 129.2
.
Я думал о том, чтобы приписать нулевое значение ближайшему ненулевому значению слева от него, но тогда график будет плоским на этом участке из-за 2 периодов с одинаковыми значениями. Я хочу, чтобы сюжет выглядел так, как он выглядит прямо сейчас. Буду признателен за любую помощь
Ответ №1:
Вы можете предварительно обработать свои данные и рассчитать средние точки. Нулевая точка не имеет маркера, и для нее невозможно отобразить всплывающую подсказку.
const data = [...];
const processedData = data.map((dataEl, index) => {
if (!dataEl) {
return {
y: (data[index - 1] data[index 1]) / 2,
isCalculatedValue: true,
marker: {
fillColor: 'red',
radius: 1
}
}
}
return dataEl;
});
Используя tooltip.formatter
функцию, вы можете отобразить предыдущее значение точки во всплывающей подсказке.
tooltip: {
formatter: function(tooltip) {
let point = this.point;
if (point.isCalculatedValue) {
point = this.series.points[point.index - 1];
}
return "<span style='font-size: 10px'>" point.category "</span><br/>"
"<span style='color:" point.series.color
"'>●</span> Line series: <b>" point.y "</b><br/>";
}
}
Живая демонстрация: https://jsfiddle.net/Черная метка/nrmgaw6q/
Ссылка на API: https://api.highcharts.com/highcharts/tooltip.форматер