簡體   English   中英

高圖表的正確JSON格式

[英]Proper JSON format for highcharts

我有一個mysql db喂養對我的圖表。 它正在為pH計提供時間戳和傳感器值。 當我加載圖形時,我得到了顯示時間戳和傳感器值的工具提示,但是當它從數據庫中連續輸入時,工具提示顯示為undefined作為我的時間戳,但是我構建的數組在那里。 我想盡可能具體。 我認為我錯誤地構建了json字符串,這就是為什么highcharts不知道如何處理它的原因。

這是我對php頁面的回調:

events: {
    load: function() {
        var chart = this;
        var series = this.series[0];
        setInterval(function() {                                    
            $.getJSON("php/dataPhIncremental.php", function(data) {
                // Only add data points if the latest date in the DB is different
                if (!(chart.yAxis[0].dataMax == data[0].data[0])) {
                    $(chart.series).each(function(i, series) {
                        console.log(data[0]);
                        series.addPoint([data[0].timestamp[0], data[0].data[0]]);

                    }); 
                } 
                else {
                    console.log("did not write point"+ oldPoint + "   " + data[0].data);
                }
            })
        }, 1000);
    }

以為getJSON會轉到php頁面並選擇json字符串,然后讓highcharts用它來做它想要的事情。 我錯了。

我的php json返回對象的示例:

[{"name":"pH","data":[4.76],"timestamp":["2015-12-23 12:31:42"]}]

這用於增量回調。 初始字符串包含10對。

嘗試使用日期類型:

                    console.log(data[0]);
                    d = new Date(data[0].timestamp[0]);
                    series.addPoint(d, data[0].data[0]);

為您的xAxis嘗試以下操作:

xAxis: {
  type: 'datetime',
  labels: {
    formatter: function() {
      return Highcharts.dateFormat('%e %b', this.value*1000); // milliseconds not seconds
    },
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM