我想在现有的自动生成的刻度中添加一个刻度,我该怎么做?
这是fiddle 。我想将刻度 100
添加到现有生成的刻度系列中。这样的 hack 可以在 flot 中完成吗?
最佳答案
我希望使用hooks
可以做到这一点functionality in flot但不幸的是,生成了刻度,然后添加了标签,中间没有任何钩子(Hook)。
所以...
你最好的选择是窃取 flots 自动刻度生成器,修改它以执行你想要的操作,然后将其添加为选项中的刻度函数。
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 .
关于javascript - 如何向绘图中自动生成的刻度添加新刻度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23698354/