Изменить HighCharts pointInterval после создания диаграммы - PullRequest
0 голосов
/ 09 декабря 2011

Я использую библиотеку HighCharts для построения графиков очень больших наборов данных (т.е. ~ 18 000 точек).Я использую квантование на бэкэнде, чтобы уменьшить количество точек до разумного размера (менее 200).Когда пользователь выбирает раздел диаграммы, он отправляет серверу запрос ajax и получает новый набор с более высокой частотой дискретизации.Однако при изменении pointInterval в plotOptions он фактически не изменяет интервал на отображаемом графике.

Это мои параметры, которые я использую для создания графика:это функция, которую я использую для получения данных:

function getChartData() {
    activityId = settings.seriesData.activityId;
    trackType = settings.seriesData.type;

    jQuery.getJSON(OPENFIT_DATA_URL, {op: 'TrackHandler.getTrackData', actid: activityId, type: trackType}, function(returnData) {
        console.log(returnData);
        console.log(chart);
        if (returnData != null) {
            chart.options.plotOptions.line.pointInterval = returnData.interval;
            chart.options.plotOptions.line.pointStart = returnData.start;
            chart.xAxis[0].adjustTickAmount();
            chart.series[0].setData(returnData.data, true);
        }
    });
}

Ответы [ 2 ]

1 голос
/ 22 октября 2013

Вы также можете использовать series.update() для обновления всех параметров один раз, см .: http://jsfiddle.net/7XcMn/

    chart.series[0].update({
        pointInterval: 100,
        data: [100, 200, 300]
    });
0 голосов
/ 11 декабря 2011

Измените pointInterval объекта серии, а не plotOptions:

chart.series[0].pointInterval = 24 * 3600 * 1000;
chart.series[0].setData([29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],true);

Смотрите эту скрипку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...