Parsing HighCharts:分析y属性时出现意外值
我有如下ExtJs+Highcharts代码:Parsing HighCharts:分析y属性时出现意外值,parsing,extjs,highcharts,extjs-mvc,Parsing,Extjs,Highcharts,Extjs Mvc,我有如下ExtJs+Highcharts代码: Ext.define('Cabinet.view.workspace.indexCharts.Line', { extend: 'Ext.panel.Panel', alias: 'widget.IndexLineChart', show: function (chartDiv, valuesList) { valuesList = '[' + valuesList + ']'; consol
Ext.define('Cabinet.view.workspace.indexCharts.Line', {
extend: 'Ext.panel.Panel',
alias: 'widget.IndexLineChart',
show: function (chartDiv, valuesList) {
valuesList = '[' + valuesList + ']';
console.log(valuesList);
charts[chartDiv] = new Highcharts.Chart({
chart: {
renderTo: chartDiv,
type: 'line'
},
title: {
text: 'Some Title'
},
yAxis: {
categories: [2005, 2006, 2007]
},
series: [{ data: valuesList}],
legend: {
layout: 'horizontal',
align: 'center'
}
});
}
});
但在调用此小部件后,出现了一些错误:
分析y属性时出现意外值
returne}函数oa(a){return Fa(a)→a:[a]}函数p(){var a=arguments,b,c,d=a
显示的console.log:[8255570000108938400000014004492600000]
这其中的问题在哪里?这是因为
系列.data
对象需要一个作为数据点数组的值,但您为它提供了一个包含数组JSON表示形式的字符串。valueList
需要是一个数字数组而不是字符串
如果valueList
是一个传入的数字数组,则此行将其转换为字符串:
valuesList = '[' + valuesList + ']';
不要这样做。这是因为
series.data
对象需要一个值,该值是一个数据点数组,但您为它提供了一个字符串,其中包含数组的JSON表示。valueList
需要是一个数字数组,而不是字符串
如果valueList
是一个传入的数字数组,则此行将其转换为字符串:
valuesList = '[' + valuesList + ']';
不要这样做。看起来valuesList是一个字符串,它需要的是一个数组 在将其传递给highchart之前,您需要将其转换为数组,您可以通过以下多种方式进行转换:
valuesList = '[' + valuesList + ']';
valuesList = JSON.parse(valuesList);
//OR
valuesList = jQuery.parse(valuesList);
//OR
valuesList = eval(valuesList);
选择一个适合你的
查看了解更多关于发生了什么的信息看起来valuesList是一个字符串,它需要的是一个数组 在将其传递给highchart之前,您需要将其转换为数组,您可以通过以下多种方式进行转换:
valuesList = '[' + valuesList + ']';
valuesList = JSON.parse(valuesList);
//OR
valuesList = jQuery.parse(valuesList);
//OR
valuesList = eval(valuesList);
选择一个适合你的
查看以了解更多关于发生了什么的信息。valuesList它的字符串数组(值)。valuesList它的字符串数组(值)。谢谢你,@Jugal。几次之后,我了解了我需要转换这个字符串的内容。我尝试了以下方法:
valuesList=valuesList.map(函数(x){return parseFloat(x)})
很好用!再次感谢。问题解决了。谢谢你,@Jugal。几次之后,我理解了我需要转换这个字符串的内容。我尝试了如下方法:valuesList=valuesList.map(函数(x){return parseFloat(x)});
很好用!再次感谢。问题解决了。