0

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);
        });
        }

    });
    });
    });
4

1 に答える 1

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が使用されない場合正しい、日時と逆パラメーターを使用できます]( http://api.highcharts.com/highcharts#xAxis.reversed )

于 2013-09-26T10:23:02.920 に答える