我有一个简单的1系列高图条形图,我使用json加载数据。在my fiddle中我简单地将json数据定义为静态变量,但前提是相同的。
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轴上仅使用数字绘制图表
答案 0 :(得分: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。