我发现以下线程非常有用
http://groups.google.com/group/jqplot-users/browse_thread/thread/1986 ...
我想获取数组中的所有 y 轴值或刻度...我的目的是计算每个刻度中的位数并找到最频繁的位数。基于我计划截断y轴刻度/值中的位数。例如:如果大多数刻度有 6 位数字,则截断为 3 位数字并将单词(以千计)附加到轴标签上。
我怎样才能做到这一点?在下面的函数中,我可以一一获取刻度...但我需要提前获取它们,以便我可以决定通过什么因素截断数字。请忽略函数 numberwithCommas。它只是一个示例。
(function($) {
$.jqplot.tickNumberFormatter = function (format, val) {
if (typeof val == 'number') {
if (!format) {
format = '%.1f';
}
return numberWithCommas($.jqplot.sprintf(format, val));
}
else {
return String(val);
}
};
function numberWithCommas(x) {
return x.toString().replace(/\B(?=(?:\d{3})+(?!\d))/g, ",");
}
@Boro:非常感谢您的回复。你能告诉我这条线到底是做什么的吗?
var ticks = $('.jqplot-' + axisName + '-tick');
同一行在我的代码中不起作用。我该如何使用它?
在控件进入格式化程序之前,我可以使用它将所有刻度推入数组吗?也就是说,在控件进入下面的函数之前,我可以得到所有的刻度吗?
$.jqplot.tickNumberFormatter = function (format, val) {
以下代码在您的示例中运行良好。为什么它在我的不起作用:(
var axisName = 'yaxis';
var count = 0;
var ticks = $('.jqplot-' + axisName + '-tick');
for (count = 0; count <= ticks.length; count++)
{
console.log($(ticks[count]).text());
}