2014-06-18 123 views
4

我有一個簡單的1系列的高圖條形圖,其中使用json加載數據。在my fiddle我只是簡單地定義了json數據作爲一個靜態變量,但前提是一樣的。Highcharts使用系列標籤作爲x軸類別

JSON數據形成了所有系列性的基礎上,包括名稱和被格式化,像這樣,這是很多例子一致的我已經看到:

var json = [{ 
    "name": "Currency Allocation", 
    "data": [ 
     ["gbp", 0.7053985], 
     ["usd", 0.17856322], 
     ["eur", 0.06901525], 
     ["chf", 0.00135777], 
     ["jpy", 0.00815169], 
     ["em_asia", 0.02821377], 
     ["other", 0.00982446] 
    ] 
}]; 

我想的標籤,這是每個data子陣列中的第一個元素爲圖表的x軸類別。不過,我似乎必須分別在cht.xAxis.categories下定義x軸類別。有沒有辦法避免這樣做,只是在我的數據中使用類別?

如果我排除xAxis.categories屬性圖表繪製與x軸

回答

8

只是數字你可以做到這一點在chart.events.load呼叫,通過series[0].data值循環。既然你說你每個圖表只有一個系列,我也假設你只有一個xAxis。你會循環你的數據如下:

var seriesData = this.series[0].data; 
var tCategories = []; 
for (i = 0; i < seriesData.length; i++) { 
    tCategories.push(seriesData[i].name); 
} 
this.xAxis[0].setCategories(tCategories); 

demo

較簡單的方法是定義你的xAxis.type'category'

"xAxis": { 
    "type": "category" 
}, 

直播demo

+0

你答案的第二部分正是我所追求的。無法在API文檔中找到它。謝謝 – harryg