Bla*_*umb 2 javascript jquery flot
使用浮点图,我想指定在 y 轴上显示的最小刻度数。就我而言,我希望始终显示至少 10 个刻度(值 1-10),但如果我的 y 轴最大值超过 10,那么我希望 flot 使用正常刻度算法绘制图表。我目前通过为刻度参数指定一个函数来实现它的工作。
ticks: function(axis){
var ticks = [];
if(axis.max < 10){
ticks = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
}
else{
for(var i = 1; i < axis.max; i++){
ticks.push(i);
}
}
return ticks;
},
Run Code Online (Sandbox Code Playgroud)
这样做的问题是,当 大于 10 时,我得到的刻度数比我想要的多得多。axis.max有没有办法避免这种情况?
我原本以为我可以返回 null,但 flot 期望返回一个数组。:(
如果您想要刻度生成的默认功能,您可以调用tickGenerator轴的函数。它比使用您不维护的代码要干净得多。所以对于你的情况,你可以这样做:
ticks: function(axis){
return axis.max < 10 ? [1,2,3,4,5,6,7,8,9,10] : axis.tickGenerator(axis);
}
Run Code Online (Sandbox Code Playgroud)