Highcharts;
我正在尝试使用json在柱形图中动态更改类别。像这样......
[{y:1,"other":"other","category":"namecategory"}....]
...
xAxis: {
categories: this.category,
maxZoom: 1
},
有可能吗?
感谢。 :d
答案 0 :(得分:1)
您可以通过json或其他方式动态加载您的类别,然后使用允许动态更改类别的setCategories。
答案 1 :(得分:0)
我认为您需要将类别设置为原始js类型的数组,例如数字或字符串。
示例:
categories: ['Apples', 'Bananas', 'Oranges']
如前所述:http://api.highcharts.com/highcharts#xAxis.categories: “如果xAxis存在类别,则使用名称而不是该轴的数字。”
也许,当你提到JSON时,你在谈论对象文字吗? (因为未引用样本中的“y”键。)
实际上,您可以使用对象文字数组。但它们将在xAxis中显示为“[Object]”。
对象文字是一对围绕零个或多个名称/值的花括号 对。对象文字可以出现在表达式可以出现的任何地方:
var empty_object = {};
var stooge = {
first_name: "Jerome",
last_name: "Howard"
};
如果名称是合法的,则对象文字中属性名称周围的引号是可选的 JavaScript名称而非保留字。
也许您可以预先处理您的JSON数据,构建一个数组,以便在类别中使用。
答案 2 :(得分:0)
好吧,也许你可以尝试这样的事情:
var jsonData = [{
"y": "1",
"other": "other",
"category": "namecategory1"
}, {
"y": "2",
"other": "another",
"category": "namecategory2"
}];
// var jsObject = JSON.parse(jsonData);
var categories = new Array();
for (var p in jsonData) {
categories.push(jsonData[p].category);
}
chart.xAxis[0].setCategories(categories);