这是一个错误吗?堆叠时间系列忽略日期值

时间:2013-05-08 06:49:51

标签: kendo-ui

我正在尝试在KendoUI中的单个折线图上显示两个系列。

系列中的日期不匹配(即系列二在系列一之后开始,在系列一之前结束)。但是,KendoUI会从图表的开头开始渲染这两个系列。

我为demonstrate the issue创建了一个简单的jsfiddle,总结如下:

HTML:

<div id="chart" />

CSS:

#chart
{
    width: 400px;
    height: 280px;
}

JS:

$(function () {
    var dataSource = new kendo.data.DataSource({
        data: [
            { series: 'Series 1', date: new Date(2013, 04, 01), count: 1 },
            { series: 'Series 1', date: new Date(2013, 04, 02), count: 3 },
            { series: 'Series 1', date: new Date(2013, 04, 03), count: 5 },
            { series: 'Series 1', date: new Date(2013, 04, 04), count: 3 },
            { series: 'Series 1', date: new Date(2013, 04, 05), count: 1 },
            { series: 'Series 2', date: new Date(2013, 04, 02), count: 5 },
            { series: 'Series 2', date: new Date(2013, 04, 03), count: 3 },
            { series: 'Series 2', date: new Date(2013, 04, 04), count: 5 }
        ],

        group: {
            field: 'series'
        },

        sort: {
            field: 'date',
            dir: 'asc'
        },

        schema: {
            model: {
                fields: {
                    date: {
                        type: 'date'
                    }
                }
            }
        }
    });

    dataSource.read();

    $('#chart').kendoChart({
        title: {
            text: 'Date Demonstration'
        },

        dataSource: dataSource,

        seriesDefaults: {
            type: 'line'
        },

        series: [{
            field: 'count',
            data: []
        }],

        valueAxis: {
            line: {
                visible: false
            },

            labels: {
                step: 2,
                template: function (value) {
                    return value.value % 1 === 0 ? value.value : ' ';
                }
            }
        },

        categoryAxis: {
            field: 'date',

            type: 'date',

            labels: {
                template: function (value) {
                    return value.value.getDate();
                }
            }
        },

        legend: {
            position: 'bottom'
        }
    });
});

图表的第二个系列应该从'2'开始,而不是从'1'开始。

任何人都知道如何解决这个问题?这是KendoUI中的错误吗?

1 个答案:

答案 0 :(得分:2)

更新:Kendo回应了我们随后开通的支持请求:

  

折线图就是这样的。您有一些类别,然后为每个类别提供值。在您的情况下,我建议您使用散点线图,或者您需要填充第二个系列中的缺失值,并将null作为值。

因此我认为这是一个wontfix错误,因为在这种情况下我告诉图表类别轴是一个日期;然后从数据源中获取字段以获取这些日期。图表应该能够在正确的日期类别中将这些值绘制到图表中。