Highcharts使用系列标签作为x轴类别

时间:2014-06-18 15:57:22

标签: javascript jquery json highcharts

我有一个简单的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轴上仅使用数字绘制图表

1 个答案:

答案 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