Javascript Extjs4图表未打印正确的数据
我在Extjs4中为我的一个项目创建了一个简单的折线图,但该图没有绘制正确的数据 图表使用与网格相同的存储,但不显示相同的数据。如果不彻底解决问题,有没有办法追踪问题的根源 下面是我用来生成图表的代码Javascript Extjs4图表未打印正确的数据,javascript,extjs,extjs4,extjs-mvc,Javascript,Extjs,Extjs4,Extjs Mvc,我在Extjs4中为我的一个项目创建了一个简单的折线图,但该图没有绘制正确的数据 图表使用与网格相同的存储,但不显示相同的数据。如果不彻底解决问题,有没有办法追踪问题的根源 下面是我用来生成图表的代码 { xtype: 'chart', animate: true, shadow: true, store: 'Dataalls', legend: { position: 'top' }, axes: [{
{
xtype: 'chart',
animate: true,
shadow: true,
store: 'Dataalls',
legend: {
position: 'top'
},
axes: [{
type: 'Numeric',
position: 'left',
title: 'Wind Speed',
fields: ['windspeed'],
grid: true
}, {
type: 'Category',
position: 'bottom',
title: 'Time',
fields: ['time']
}],
series: [{
type: 'line',
axis: 'left',
xField: ['time'],
yField: ['windspeed']
}]
}
(我尝试对x轴使用类型:'Time',但得到错误“date.getFullYear不是函数”)对于日期。getFullYear()我怀疑您的日期字符串无法解析为日期对象。您是否可以发布其他支持代码,最好是商店和网格的完整代码?如果要使用时间轴,则需要通过以下方式将日期字符串转换为日期对象:
Ext.define('Your.Model', {
extend: 'Ext.data.Model',
fields: [
{name: 'dateString', type: 'string'},
{name: 'date',
convert: function(value, record) {
year = value.substring(0,4);
month = value.substring(5,7).replace(/^[0]+/g,"");
day = value.substring(8,10).replace(/^[0]+/g,"");
hour = value.substring(11,13).replace(/^[0]+/g,"");
// etc for min, sec, millis
return new Date(year, (month - 1), day, hour, 0, 0);
}
}
]
}))
为了调试未正确显示的图表,我将把图表对象分配给变量,并在变量分配后放置在Firebug断点中,以便能够检查图表js对象并查看其中的数据。我在使用时间时遇到了类似的问题。只是通过定义我的模型字段类型修复了它: 字段:[{name:'date',type:'date'},{name:'close',type:'float'}] 至于为什么你的图表是这样绘制的,我之前也知道了,我意识到json是以字符串的形式传递的,所以我也需要定义为浮点。我在php端对此进行了修复,在将其作为json传递之前,首先将其强制为浮点