我正在尝试显示动态获取的值。在下面的代码中,我试图将值存储在数组中,并且我正在尝试使用" series:data"中的数组值。 图表中没有显示任何内容。 我知道这是一个非常简单的问题,但当我用Google搜索时,我没有得到任何满意的答案。请帮忙
var x = window.location.search.replace( "?", "" );
x = x.substring(3);
var array = x.split(","); // I am storing my dynamic values in this array
$(function () {
//alert(array); ----- I am able to see the values here
$('#container').highcharts({
chart: {
type: 'bar'
},
title: {
text: 'Wireless Experience Meter'
},
subtitle: {
text: 'Sub - Time to Download'
},
xAxis: {
categories: ['Text'],
title: {
text: null
}
},
yAxis: {
min: 0,
title: {
text: 'Time (ms)',
align: 'high'
},
labels: {
overflow: 'justify'
}
},
tooltip: {
valueSuffix: ' ms'
},
plotOptions: {
bar: {
dataLabels: {
enabled: true
}
}
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top',
x: -40,
y: 100,
floating: true,
borderWidth: 1,
backgroundColor: '#FFFFFF',
shadow: true
},
credits: {
enabled: false
},
series: [{
name: 'Attempt 1',
//data: [635, 203, 200]
data : [array[0]] // I need to pass the variables here to get it displayed
}, {
name: 'Attempt 2',
//data: [133, 408, 698]
data : [array[1]]
}, {
name: 'Attempt 3',
//data: [973, 914, 4054]
data : [array[2]]
}]
});
});
答案 0 :(得分:2)
你没有告诉我们变量array
等于什么,但是因为它是从x.split(",")
生成的,所以它的元素将是字符串而不是Highcharts需要的数值。
因此请将其转换为parseInt
或parseFloat
:
var numericData = [];
for (var i = 0; i < array.length; i++){
numericData.push(parseFloat(array[i]));
}
...
series: [{
name: 'Attempt 1',
data : numericData
},
...
答案 1 :(得分:0)
[array[0]]
不是数组,看起来像console
输出而不是javascript。但是技术上会[[0]]
或[0]
。但是,由于对数组(array(0)
)的调用会生成一个数组,因此我认为您需要data: array(0)
。
如果您没有正确显示示例数据,则在data : [array(0)]
处外拍。我从来没有使用过HighCharts所以我不知道它的预期但我仍然使用data : array(0)