是否可以独立于tickSize控制轴数?

时间:2014-08-15 20:02:57

标签: javascript jquery flot

基本上我想绘制这样的东西:http://i.stack.imgur.com/JEKOg.png(网格线,而不是图形)。

似乎如果将tickSize设置为1(下图),那么会有一堆线条在其下面绘制相应的轴编号。

xaxis, yaxis: {
    show: true,
    min: -20,
    max: 20,
    tickSize: 1,
    tickLength: 0
}

如果未设置(如下),图表将自动每5个单位绘制一个及其数字

xaxis, yaxis: {
    show: true,
    min: -20,
    max: 20,
    tickLength: 0
}

我希望网格线每1个单位,但每5个数字,但我没有看到一个方法来做到这一点。

1 个答案:

答案 0 :(得分:3)

您可以使用数组手动指定刻度标签:

ticks: [[0, "0"], [1, ""], [2, ""], [3, ""], [4, ""], [5, "5"]],

或者,您可以指定执行此操作的功能:

ticks: function(axis) {
    var tickArray = [[0,"0"]];
    for(var i=axis.min; i<axis.max+1; i++) {
         var label = i%5?"":i;
         tickArray.push([i, label]);
    }
    return tickArray;
},

演示:http://jsfiddle.net/jtbowden/gryozh7x/

您还可以使用tickFormatter

tickSize: 1,
tickFormatter: function (val, axis) {
    return val%5?"":val;
}

演示:http://jsfiddle.net/jtbowden/gryozh7x/1/