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

har*_*ryg 5 javascript jquery json highcharts

我有一个简单的1系列高图条形图,我用json加载数据.在我的小提琴中,我只是简单地将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]
    ]
}];
Run Code Online (Sandbox Code Playgroud)

我想要标签,这是每个data子数组中的第一个元素是图表的x轴类别.但是,我似乎必须单独定义x轴类别cht.xAxis.categories.有没有办法避免这样做,只是使用我的数据中的类别?

如果我排除该xAxis.categories属性,则在x轴上仅使用数字绘制图表

wer*_*eld 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);
Run Code Online (Sandbox Code Playgroud)

现场演示.

不太复杂的方法是将您定义xAxis.type'category':

"xAxis": {
    "type": "category"
},
Run Code Online (Sandbox Code Playgroud)

现场演示.