Highchart xAxis“6小时前”,“5小时前”等。而我的图表正在更新

时间:2013-09-26 06:39:09

标签: javascript mysql json highcharts arduino

我正在使用JSON将数据提取到我的数据库。有没有办法xAxis转向6小时前,5小时前,4小时前,3小时前,2小时前,1小时前图表正在更新?因为我使用LM35将温度导入我的数据库。我真的需要你的帮助。 ( 对不起,我的英语不好)。提前致谢。这是我的代码

$(function () {
$(document).ready(function() {
    Highcharts.setOptions({
        global: {
            useUTC: false
        }
    });





$(document).ready(function() {
        var options = {
            chart: {        
                renderTo: 'container',

                type: 'line',
                marginRight: 130,
                marginBottom: 65,
            },
            title: {
                text: 'Temperature Over Time',
                x: -20 //center
            },
            subtitle: {
                text: '',
                x: -20
            },
            xAxis: {
            tickInterval:12,
            range:20,
            categories:[]
            },


            scrollbar: {
                enabled: true,
        barBackgroundColor: 'gray',
        barBorderRadius: 7,
        barBorderWidth: 0,
        buttonBackgroundColor: 'gray',
        buttonBorderWidth: 0,
        buttonArrowColor: 'yellow',
        buttonBorderRadius: 7,
        rifleColor: 'yellow',
        trackBackgroundColor: 'white',
        trackBorderWidth: 1,
        trackBorderColor: 'silver',
        trackBorderRadius: 7
            },      


            yAxis: {
            min:0,
            max: 40,
                title: {
                    text: 'Temperature',
                },


                plotLines: [{
                    value: 0,
                    width: 1,
                    color: '#808080'
                }]
                },


            tooltip: {
                formatter: function() {
                        return '<b>'+ this.series.name +'</b><br/>'+
                        this.x +': '+ this.y;
                }

            },
            legend: {
                layout: 'vertical',
                align: 'right',
                verticalAlign: 'top',
                x: -10,
                y: 100,
                borderWidth: 0
            },
            series: []
        }

       refreshDiv();
       $(window).scrollLeft($(window).width());
       setInterval(refreshDiv, 300000);
       function refreshDiv(){
        $.getJSON("data.php", function(json) {
        options.xAxis.categories = json[0]['data'];
            options.series[0] = json[1];
            chart = new Highcharts.Chart(options);
        });
        }

    });
    });
    });

1 个答案:

答案 0 :(得分:0)

而不是这段代码:

$.getJSON("data.php", function(json) {
    options.xAxis.categories = json[0]['data'];
        options.series[0] = json[1];
        chart = new Highcharts.Chart(options);
    });

您可以使用setCategories函数和setData,但我建议创建图表,然后仅在示例中使用addPoint函数,例如:http://www.highcharts.com/demo/dynamic-update。如果xAxis不正确,您可以使用日期时间type和反向参数](http://api.highcharts.com/highcharts#xAxis.reversed