Javascript 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: [{

我在Extjs4中为我的一个项目创建了一个简单的折线图,但该图没有绘制正确的数据

图表使用与网格相同的存储,但不显示相同的数据。如果不彻底解决问题,有没有办法追踪问题的根源

下面是我用来生成图表的代码

{
    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传递之前,首先将其强制为浮点