Highcharts中設置x軸為時間的寫法


 xAxis: {
                    //表示為時間,注意大小寫
                    type: 'datetime',
                    //間距,時間戳,以下表示間距為1天,如果想表示間距為1周,就這么寫
                    //7*24*3600*1000
                    tickInterval:  24 * 3600 * 1000,
                    //格式化時間,day,week....
                    dateTimeLabelFormats: {
                        day: '%Y-%m-%d'
                    }
                }                

有些在做跟時間有關數據展示的時候,首先想到的問題是我該傳什么樣的json格式數據來進行展示?

如下:

data:[[時間戳1,數據1],[時間戳2,數據2]]
//例子:
series: [{
                    name: 'Temperature',
                    data: [[1527832563000,29.9], [1527918791000,71.5], [1528005191000,106.4], [1528091591000,129.2], [1528177991000,144.0], [1528264563000,176.0], [1528350963000,135.6], [1528437363000,148.5], [1528523763000,216.4], [1528610163000,194.1], [1528696563000,95.6], [1528782963000,54.4]],
                    color: '#F33'
                }]
//注意:這里的時間戳為毫秒級別,記得*1000

此時從后台獲取到的數據,格式有可能不太好轉變,你可以采用filter和map方法進行數據格式化,fiter進行多余數據的過濾,而map負責你想要數據列的提取,這兩個方法都會創建新數組,舉個栗子:

filterArray=data.filter(function(value){
                        let reg=/\/;
                        if(reg.test(value)return value;
                    });
mapArray=filterArray.map(function(value){
                    return [new Date(value.time).getTime(),Number(value.price)]
                })

更多關於數據列的信息請參考官網:https://www.hcharts.cn/docs/basic-series

此時你就可以往highcharts上綁定數據了,該怎么綁定呢?可參考官方API文檔:https://api.hcharts.cn/highcharts#Chart.addSeries

注:當采用時間為x軸間距時,hightcharts會有8小時的誤差顯示,解決辦法自行百度

最后附一張官網的圖,方便理解圖表中的屬性:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM