2014-06-18 81 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