Flot在xaxis中显示错误数据

时间:2013-04-08 02:31:54

标签: jquery jquery-plugins flot

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

我使用此代码,但我得到了一个虚假的xaxis。它显示:

Apr 4 12:00 Apr 5 0:00 Apr 5 12:00 Apr 6 0:00 Apr 6 12:00 Apr 7 0:00 Apr 7 12:00 Apr 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();
        }

  }

但我也是这样 4月4日12:00Apr 5 0:00 00:00 3:00Apr 6 0:00 00 6月12日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();
        }

  }

但我也是这样 4月4日12:00Apr 5 0:00 00:00 3:00Apr 6 0:00 00 6月12日12:00Apr 7 0:00Apr 7 12:00Apr 8 0:00

1 个答案:

答案 0 :(得分:0)

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

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

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