2011-04-08 67 views
1

我試圖創建下列性質Highcharts一個柱狀圖HighCharts圖一個聚合值

X軸:時間(秒) Y軸:在特定的時間值出現了多少次。

換句話說,我希望能夠有下列數據輸入系列中:

[50,50,30]

,它應該創建具有以下值的柱形圖:

X:30,Y:1 X:50,Y:2

是這種類型的功能可以在Highcharts?

謝謝!

+0

你試過highcharts demo gallery http://www.highcharts.com/demo/?我敢打賭,它有所有可用的圖表類型。 – Andy 2011-04-08 11:06:27

回答

0

這是可能的,但它不與高層圖直接相關。

你只需要在調用highcharts函數之前創建一個JavaScript代碼片段,將數據以所需的格式進行拼接,然後在highcharts(系列和總數/值)中使用它。 沒有圖表庫會爲你做這項工作。

JavaScript代碼段應該是這樣的:

var options = { 
    chart: { 
     renderTo: 'container', 
     defaultSeriesType: 'column' 
    }, 
    title: { 
     text: 'Fruit Consumption' 
    }, 
    xAxis: { 
     categories: [] 
    }, 
    yAxis: { 
     title: { 
      text: 'Units' 
     } 
    }, 
    series: [] 
}; 

var items = [50,30,50]; 
var series = { 
      data: [] 
     }; 
var notfound; 

items.sort(); 
for(var i=0; i < items.length; i++) { 
    notfound= true; 
    for(var j=0; j < options.xAxis.categories.length && notfound; j++) {  
    if (items[i] === options.xAxis.categories[j]) { 
     notfound= false; 
    } 
    } 
    if (notfound) { 
    options.xAxis.categories.push(items[i]); 
    series.data[j]= 1; 
    } else { 
    series.data[j]++; 
    } 
} 

$(document).ready(function() { 
    var chart = new Highcharts.Chart(options); 
} 

這樣的事情。我希望它有幫助。

Regards

+0

嗯,我把這段代碼輸入到瀏覽器中,它似乎沒有編譯(圖表是空的):S – Jonas 2011-04-09 05:09:47

+0

嗨,抱歉,我沒有在編輯器或現場試用它,我給了你基本的想法和甚至更多,爲它寫一些代碼。順便說一句,你可能不應該有數組索引,所以你應該稍微調整一下代碼 – acerb 2011-04-18 07:49:01

+0

,代碼基於:[link](http://www.highcharts.com/demo/列解析) – acerb 2011-04-18 08:06:20