如何在flot中为自动生成的ticks添加新的tick

时间:2014-05-16 14:52:17

标签: javascript flot

我想在现有的自动生成的刻度上添加一个勾号,我该怎么办? 这是fiddle。我想在现有生成的tick系列中添加tick 100。这样的黑客可以用flot完成吗?

1 个答案:

答案 0 :(得分:4)

我希望使用hooks functionality in flot可以实现这一点,但不幸的是生成了滴答声,然后添加了标签而没有任何钩子。

所以......

你最好的选择是窃取自动嘀嗒发生器,修改它以做你想要的,然后将它作为勾选功能添加到你的选项中。

customTickGen = function (axis) {

    /* BEGIN STOLEN FLOT METHOD */    

    var ticks = [],
        start = axis.tickSize * Math.floor(axis.min / axis.tickSize),
        i = 0,
        v = Number.NaN,
        prev;

    do {
        prev = v;
        v = start + i * axis.tickSize;
        ticks.push(v);
        ++i;
    } while (v < axis.max && v != prev);

    /* END OF STOLEN FLOT CODE */

    /* Now find the spot and put a 100 in */
    for (var i = 0; i < ticks.length - 1; i++){
        if (ticks[i] < 100 && ticks[i+1] > 100){
            ticks.splice(i,0,100);
            break;
        }
    }                    
    return ticks;
}

这是一个有效的fiddle