如何在X轴上显示正确的日期

时间:2013-11-27 09:39:48

标签: kendo-dataviz kendo-chart

tl; dr :当我将xAxis min和max设置为2013-01-01 14:30:002013-01-01 15:45时,我需要在xAxis上看到这些时间而不是< em> 14:00 和 15:00 ,或 01。 01. 2013 01。 01. 2013 ,或任何自动生成的错误的时间戳,如here


我在这里有一个关于Kendo Dataviz Chart的问题。我试图在一个图表中显示几个散点图,描绘一些技术指标如何及时变化。为此,我需要以分钟的比例显示正确的日期和时间。无论我搜索或尝试多少,我似乎都无法达到这个看似简单的目标。

到目前为止所做的研究:
来自Telerik的Answer几乎没有帮助。

所有示例和演示最多使用日期粒度,因此没有帮助。

以下是一些示例代码,我无法利用这些代码:jsbin.com/AtusAGO/1/edit

代码:
请尝试评论并取消注释JSFiddle中的第23至27行,看看会发生什么(大多数情况下,没有,真的,也不是我想要达到的目标)。

(function () {
    $("#chart").kendoChart({
        legend: {
            visible: true,
            position: "bottom"
        },
        seriesDefaults: {
            type: "scatterLine",
            markers: {
                size: 0
            }
        },
        xAxis: {
            "type": "date",
            labels: {
                format: "hh:mm d. M. yyyy"
            },
            title: {
                text: "Time"
            },
            min: "2012-02-05 00:35:00",
            max: "2012-02-05 01:40:00",
            baseUnitStep: "auto",
            /*baseUnit: "fit",
                            maxDateGroups: 10,*/
            autoBaseUnitSteps: {
                minutes: [5]
            }
        },
        series: [{
            "name": "temp",
                "yAxis": "temperature",
                "data": [
                [
                    "2012-02-05T00:35:00",
                3],
                [
                    "2012-02-05T00:55:00",
                0],
                [
                    "2012-02-05T01:00:00",
                1],
                [
                    "2012-02-05T01:05:00",
                2],
                [
                    "2012-02-05T01:10:00",
                3],
                [
                    "2012-02-05T01:15:00",
                4],
                [
                    "2012-02-05T01:20:00",
                5],
                [
                    "2012-02-05T01:40:00",
                3]
            ]
        }, {
            "name": "hum",
                "yAxis": "humidity",
                "data": [
                [
                    "2012-02-05T00:00:00",
                80],
                [
                    "2012-02-05T00:55:00",
                100],
                [
                    "2012-02-05T01:00:00",
                10],
                [
                    "2012-02-05T01:05:00",
                20],
                [
                    "2012-02-05T01:10:00",
                50],
                [
                    "2012-02-05T01:15:00",
                40],
                [
                    "2012-02-05T01:20:00",
                50],
                [
                    "2012-02-05T01:51:00",
                30]
            ]
        }],
        yAxes: [{
            "name": "humidity",
                "title": {
                "text": "Humidity [%]"
            }
        }, {
            "name": "temperature",
                "title": {
                "text": "Temperature [\u00b0C]"
            }
        }]
    });
}());

1 个答案:

答案 0 :(得分:4)

您可以使用以下数据格式:

series:{
data: [
    {
        date: new Date(2013,0,1,0,0,0),
        value: 23
    },
    {
        date: new Date(2013,0,2,0,0,0),
        value: 24
    }
],
field: "value",
categoryField: "date"
}

在标签中,您可以将其设置为

template: "#:kendo.toString(value,'dd/MM/yyyy hh:mm:ss')"