四分之一的Flotr2时间模式

时间:2013-09-27 09:54:00

标签: javascript flotr2

我正在使用Flotr2取得巨大成功。现在我们用时间模式实现了它。这就像一个魅力。但现在客户想要只显示季度(即20013-1,2013-2)。

现在Flotr2,自动缩放数据以适应图形。但是因为没有四分之一的大小相同,所以失败了。

所以我的问题是,是否可以在Flotr2中添加四分之一(在x轴上)。如果是这样,宇宙中有哪些我没有找到的例子吗?

2 个答案:

答案 0 :(得分:1)

最佳解决方案是使用xaxis ticks选项,结合tick格式化程序:

xaxis: {
  ticks : [],
  tickFormatter: function () {}
}

编写一个函数以返回范围的四分之一开始日期或中位数等数组。它们应该是ms。

格式化程序然后可以输出您正在寻找的日期格式,如上所述。

答案 1 :(得分:0)

嗯,这不是100%令人满意,但它“有效”

对于折线图,我删除了时间模式并添加了noTicks: 12这可以更改,但由于时间的性质(大多数是几个月)没有相同的大小,这变得非常需要,所以xaxis标签工作细

接下来,我向xaxis添加了tickFormatter

xaxis setup:

xaxis:{
    noTicks: 15,
    tickFormatter: function (x) {
        var d = new Date(parseInt(x));
        var month = d.getMonth();
        if (parseInt(month / 3) == month / 3) {
            return msToYearQuarter(parseInt(x));
        }
        return '';
    }
},

要将毫秒转换为“年度季度”,我制作了一个简单的函数

function msToYearQuarter(ms) {
    var date = new Date(ms);

    var quarter = (date.getMonth() / 3) + 1;
    var year = date.getFullYear();

    return year + '-' + quarter;
}