Я пытаюсь построить диаграмму только с двумя точками данных из файла CSV, который содержит гораздо больше точек данных с осью даты и времени.
В конце пользователь должен иметь возможность сравнить два года своего выбора из всего набора данных.
Из документации API я знаю, что могу выбрать диапазон точек данных из CSV с помощью startRow и endRow:
https://api.highcharts.com/highcharts/data.startRow
Но это только одна конкретная точка, как вы можете видеть в моей скрипке
Есть ли другой способ программно показать конкретные точки?
Highcharts.chart('container', {
chart: {
type: 'column',
polar: false,
},
title: {
text: ''
},
subtitle: {
text: ''
},
data: {
csv: document.getElementById('csv').innerHTML,
startRow: 3,
endRow: 4,
googleSpreadsheetKey: false,
googleSpreadsheetWorksheet: false
},
series: [{
name: 'val'
}],
yAxis: [{
title: {
text: ''
},
opposite: true,
labels: {
align: 'right',
reserveSpace: true
}
}],
xAxis: [{
type: 'datetime',
opposite: false
}],
pane: {
background: []
},
responsive: {
rules: []
},
legend: {
title: ''
},
plotOptions: {
series: {
animation: false
}
}
});
Edit:
Я забыл упомянуть, что хочу загрузить CSV только один раз. После этого пользователь должен иметь возможность выбирать / обновлять точки данных без перезагрузки данных.
Для динамического отображения диапазонов значений я использовал настройки Axis min и max, например:
$(this).highcharts().update({
xAxis:{
min: Date.UTC(selectedStart,0,0),
max: Date.UTC(selectedEnd,11,31)
}
});
Весь набор данных загружается один раз, и ось диаграммы обновляется при взаимодействии с пользователем.
Теперь я ищу что-то похожее, но не для диапазона, а для сравнения двух значений из всего набора данных.