0

我使用 flot 在我的网站上显示图表。

我使用此代码,但我得到一个错误的 xaxis。表明:

4月4日 12:00 4月5日 0:00 4月5日 12:00 4月6日 0:00 4月6日 12:00 4月7日 0:00 4月7日 12:00 4月8日 0:00

但我只想拥有(4.4.2013 5.4.2013 6.4.2013 7.4 8.4.2013)。我想要它没有重复,没有时间。

你能帮我吗。我在谷歌上搜索了几个小时,但没有找到合适的解决方案。

<script>
$(function () {

    var     d1 = [],
            d2 = [];        

    var dt1 = [[1365041353000,3], [1365127753000,5], [1365214153000,9], [1365300553000,15], [1365386953000,2]], 
        dt2 = [[1365041353000,1], [1365127753000,2], [1365214153000,3], [1365300553000,5], [1365386953000,7]];

    for( var i = 0; i < d2.length; i++ ) {
        dt1.push([st + i * 3600000, parseFloat( (d1[i]).toFixed( 3 ) )]);
        dt2.push([st + i * 3600000, parseFloat( (d2[i]).toFixed( 3 ) )]);
    }

    var data = [{ 
        data: dt1,
        label: 'Test'       
     }, { 
        data: dt2, 
        label: 'Test1', 
        points: { show: false }, 
        lines: { lineWidth: 2, fill: false },   
     }];

    Charts.line ( '#line-chart', data, {yaxis: {
        },
  xaxis: {
    mode: "time",
    timeformat: "%d.%m.%y"
  }
});

});
</script>

我试过这个:

 xaxis: {
    mode: 'time',
    timeformat: '%d.%m.%y',
    tickFormatter: function (val, axis) {
        var d = new Date(val);
        d.getUTCDate() + "." + d.getUTCMonth() + "." + d.getUTCFullYear();
        }

  }

但是我得到相同的结果 Apr 4 12:00Apr 5 0:00Apr 5 12:00Apr 6 0:00Apr 6 12:00Apr 7 0:00Apr 7 12:00Apr 8 0:00


我试过这个:

 xaxis: {
    mode: 'time',
    timeformat: '%d.%m.%y',
    tickFormatter: function (val, axis) {
        var d = new Date(val);
        d.getUTCDate() + "." + d.getUTCMonth() + "." + d.getUTCFullYear();
        }

  }

但是我得到相同的结果 Apr 4 12:00Apr 5 0:00Apr 5 12:00Apr 6 0:00Apr 6 12:00Apr 7 0:00Apr 7 12:00Apr 8 0:00

4

1 回答 1

0

您可以通过这种方式在 xaxis 上使用 tickFormatter:

tickFormatter: function (val, axis) {
   var d = new Date(val);
   return d.getUTCDate() + "." + d.getUTCMonth() + "." + d.getUTCFullYear();
}

对于重复项,这取决于您希望如何处理它的应用程序逻辑。您可以创建一个您已经处理过的值的映射,如果您再次遇到它,则返回 null 或空白值。

于 2013-04-08T06:09:11.660 回答