flot日期条形图对齐歪斜

时间:2013-05-22 18:13:32

标签: javascript datetime flot

我正在尝试制作一个图表,显示我的应用每天使用flot吸收的搜索结果数量。我的代码(BTW使用underscore.js):

flotDataSet = _.countBy(resultSet, function(file) {
    var exactDate = new Date(parseInt(file.get('start_utc'), 10));

    //constructing a new date with 0 time so that all days get grouped together.
    return new Date(exactDate.getUTCFullYear(), exactDate.getUTCMonth(), exactDate.getUTCDate()).getTime();
});

flotDataSet = _.map(flotDataSet, function(value, key) {
    return [key, value];
});

$.plot(
    $graphDiv,
    [{
        data: flotDataSet,
        color: '#012D4C',
        bars: { show: true, fillColor: '#024985', align: 'center', fill: 0.7, barWidth: DateUtil.msInDay/2 }
    }],
    {
        grid: { color: '#012D4C' },
        xaxis: {
            mode: 'time',
            tickSize: [1, 'day'],
            autoscaleMargin: 0.001
        }
    }
);

输出如下内容:

enter image description here

我真的需要酒吧围绕这一天。有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:4)

发现问题。我的日期生成代码已关闭,因为JavaScript的长格式Date(year, month, date [, time...])构造函数使用本地时间或类似奇怪的东西。无论如何,我将new Date(...).getTime()的调用替换为Date.UTC(...),所有内容都神奇地起作用。

似乎JavaScript的日期处理往往是我大多数JS问题的根源!