我有类似的东西可以使用,但我想将result2
数组用于第一个系列.data
而不是硬编码。使用data: result2
或data: [result2]
不起作用。是否不可能在这种声明中赋予变量?
var chart1;
$(document).ready(function() {
$.get('sales_data', function(result) {
var result2 = result.split(',');
chart1 = new Highcharts.Chart({
series: [{
type: 'column',
name: 'Units',
data: [1, 3, 4]
}, {
type: 'line',
name: '3 month avg',
data: [2, 3, 4]
}]
});
});
});
答案 0 :(得分:3)
问题可能在于,如果您要拆分字符串,result2
将是一个字符串数组。
我从未使用Highcharts
,但尝试将字符串的每个元素解析为相应的整数数组,然后传递该数组。
var strings = result.split(',');
var d = [];
for (var i = 0; i < strings.length; i++)
d.push(parseInt(strings[i], 10));
然后,在data: d
的通话中使用Chart
。
答案 1 :(得分:1)
你是正确的,可以像在JavaScript中那样做:
var arr = str.split(',');
var obj = {data: arr};
但是,我认为问题可能在于您将一组字符串传递给图表API。
在您的硬编码示例中,您传入的是整数数组。但是如果你打电话给split
,你会得到一个字符串数组。这可能是问题的根源。
因此,在将字符串数组传递给图表API之前,请尝试使用parseInt或parseFloat将字符串数组转换为数字数组。