从json

时间:2017-04-28 08:52:42

标签: javascript php json charts highcharts

我正在构建包含大量一系列数据的高价图表。出于性能原因,我想首先加载最小的数据集,称为“Serie 1”(从一小时前到现在),之后我需要在两年前添加到“Serie 1”的下一个数据,直到一个一个小时前。 从2年前到现在,数据点每隔一分钟存储一次。

获取下一个点并绘制代码的方法如下:

$.getJSON('dashboard/values.php?start='+ min +'&end=' + max, function(myData) {
    var seriesOptions = {
            name: 'water depth',
            yAxis: 0,
            id: 'depth',
            data: myData
    };

    var navigatorOptions = {
            yAxis: 1,
            data: myData
    };

    var obj = eval('[' + myData + ']');
    seriesOptions.data = obj;
    chart.addSeries(seriesOptions);

    var nav = chart.get('navigator');
    nav.setData(myData, false);
    chart.xAxis[0].setExtremes();
});

我有两个问题需要弄清楚:

  1. 在图表上添加系列为'Serie 3'而不是'Serie 1'
  2. 添加新点后导航栏延长至1979年1月1日,但我的数据从2015年4月28日开始
  3. values.php文件是:

    <?php
    header('Content-Type: text/JSON'); 
    //... some SQL connection and query stuff
    if ($result = $mysqli->query($sql)) {
        $emptyarray = array();
        while($row = $result->fetch_assoc()) {
            extract($row);
            $emptyarray[] = "[$datetime, $water_depth]";
        }
    
        $result->free();
    }
    
    $mysqli->close();
    echo json_encode($emptyarray);
    

    此外,如果您有任何其他想法如何使用具有良好性能速度的大量数据显示图表,请分享。我不想创建四个数据表,分别保存分钟,小时,天和月的数据,如this article中所述。

0 个答案:

没有答案