2014-01-19 32 views
-3

我必須按照圖中所示製作一個系列。如何創建系列和設置X和Y軸?

日期和值是根據用戶選擇動態生成的。時間是24小時格式。請告訴我如何爲此創建系列。另外如何把持續時間1小時的時間值。

圖片供參考:

enter image description here

+2

很難給你一個完整的答案。對於起點:您需要堆疊酒吧,如此鏈接** http://www.highcharts.com/demo/bar-stacked**。但首先你應該從** http://www.highcharts.com/docs/getting-started/your-first-chart**開始,然後通過這些實況演示:** http://www.highcharts.com/demo/**然後回來問一個關於具體問題的具體問題 – osyan

+0

親愛的Osyan,謝謝你的回覆。請看這裏的系列http://jsfiddle.net/P87XF/10/請讓我知道如何以(HH:MM)格式顯示X軸的小時。我想根據時間範圍繪製特定顏色的值。期待您的回覆很快 – user2289816

+0

嗨,請編輯您的問題,並在您之前的評論中說出您的問題,並將** jsfiddle **添加到您的問題中。我會盡快回復您 – osyan

回答

0

在您的序列數據使用的是data: [Date.UTC(2012, 10, 01, 12,11,10)]你可以簡單地更改到:data: [90 *60 * 1000] //For 90 Minute

這裏是LIVE DEMO

如果你想繪製其他系列的其他日子,那麼你應該在xAxies中添加類別。例如用於顯示3日:

xAxis: { 
    categories: ['01/10/2012', '01/11/2012', '01/2/2012'] 
}, 

而在序列數據使用的參數數目相等,你在你的類別有3個大類:

data: [ 50 *60 * 1000, 100 *60 * 1000, 50 *60 * 1000 ] 

LIVE DEMO

使用formatter在工具提示中查看正確的hour:minutes當您懸停系列。

tooltip: { 
    formatter: function() { 
    var ms = this.y; 
    var x = ms/1000; 
    var seconds = x % 60; 
    x = x/60; 
    var minutes = x % 60; 
    x = x/60; 
    var hours = parseInt(x % 24); 
    x = (x/24); 
    var days = parseInt(x); 
    if(days == 0) 
    { 
     return '<b>' + this.series.name +'</b> ->' + this.x + '<br/>' + hours +':' + minutes; 
    } else { 
     return '<b>' + this.series.name +'</b><br/>' + days + ' Day ' + hours +':' + minutes; 
    } 
    } 
}, 

LIVE DEMO

+0

親愛的Osyan,非常感謝您的幫助。確切地說,我正在尋找的東西。你已經讓我的申請工作。非常感謝。 – user2289816