extjs 4折线图渲染问题

Aci*_*ier 2 charts extjs extjs4

我在使用extjs渲染下面的折线图时遇到问题.具体来说,最后六个值为空,它们(正确地)未显示在系列行上,但(错误地)显示了一个标记点​​(请参见下图的右上角).

折线不良的折线图

我将数据库中的图形数据作为json:

// data store fields
Ext.define('Graphs', {
    extend: 'Ext.data.Model',
    fields: [
        {name: 'the_quota',     type: 'int'},
        {name: 'count_pt_year', type: 'int'},
        {name: 'date_string',   type: 'string'}
    ]
});

// get the graph data
var graphStore = Ext.create('Ext.data.Store', {
    model: 'Graphs',
    proxy: {
        type: 'ajax',
        url: 'sqlRequest.jsp?queryName=events_getGraph',
        timeout: 160000,
        reader: 'json'
    },
    autoLoad:false
});
Run Code Online (Sandbox Code Playgroud)

如果我更改查询以将这些空值作为空白而不是('')返回,则json读取器将它们转换为零,并且值在图表底部显示为零,并带有一个系列行,这比将标记贴在没有系列线的天花板.

我无法找到任何配置选项Ext.chart.Series来隐藏图表上的空值.我也没有能够找到一个配置选项Ext.data.Store来将空白作为空白返回而不是"0".

寻找其他一些解决方法.

或者有人从图书馆本身解决这些问题(ext-all.js)?

Eri*_*ric 7

Ext.data.Field调用下有一个配置选项useNull.如果收到的数据无法解析为数字,null则将使用.到目前为止,我不记得是否只能解决这个问题,而且我有一次使用自定义转换函数的记忆:

convert: function(value){
    if(typeof value !=== 'number') // or other similar conversion
        return undefined;
    return value;
}
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,您可能需要自定义商店/阅读器以完全排除包含不良null值的记录.

编辑 - 使用useNull看起来像这样:{name: 'someName', type: 'int', useNull: true}