2016-04-22 53 views
0

我想問問有人知道如何在Highcharts中設置X軸。我的應用是從數據庫中獲取數據,並且樣本的頻率是250ms。我希望X軸不顯示計數值,但是像時間一樣。我一次渲染2500個值,這意味着10秒。最好的辦法是在X軸上標記一個標記,每0.5秒標記一次,這意味着每125個標記一個標記。 (0樣品= 0秒);(125樣品= 0.5秒);(500樣品= 1秒);(725樣品= 1.5秒)Highcharts time X axis

謝謝你的意見.....

       chart() { 
            var options = { 
             chart: { 
              renderTo: 'services', 
              type: 'line', 
              animation: 'false' 
             }, 

             plotOptions: { 
              series: { 
               animation: { 
                duration: 10000 
               } 
              } 
             }, 

             series: [{marker: { 
                enabled: false 
               }}] 
             }; 
+0

你能成爲一個更清楚一點?你是否需要讓X軸以「0.5」的間隔繪製「ticks」,並讓它們有一個後綴爲「sec」的標籤,還是比這更復雜? – apokryfos

+0

[this](http://jsfiddle.net/gh/get/jquery/1.9.1/highslide-software/highcharts.com/tree/master/samples/highcharts/demo/dynamic-update/)可能有幫助 –

+0

I需要在半個月內標註每125個樣本......現在,它每隔500個樣本圖就以標記爲準。所以X軸上的序列在渲染500個樣本後做了標記。我們可以說它每500個樣本就標記一次。所以它就像0 ....... 500 ...... 1000 ...... 1500 ...... 2000 ...... 2500。我需要在每125次之後得到它,並且應該標記0.5秒。每125個樣本是0.5秒。 –

回答

1

您可以提供自定義標籤格式化程序。例如...

xAxis: { 
    labels: { 
     formatter: function() { 
      return (baseTime + (this.value/500)) + " sec"; 
     } 
    } 
}, 

其中baseTime是第一個數據點的時間。

的文檔的自定義標籤格式,可以發現...

http://api.highcharts.com/highcharts#xAxis.labels.formatter

+0

是的!它顯示了X軸上的時間唯一的一個問題,那就是在渲染新的數據組之後,時間又從零開始...... –

+0

@FilipMartiak然後當您渲染新的數據組時,更改'baseTime'值。 –