次のスレッドはとても便利だと思いました
http: //groups.google.com/group/jqplot-users/browse_thread/thread/1986 ..。
配列内のすべてのy軸の値または目盛りを取得したいのですが...私の意図は、各目盛りの桁数をカウントし、最も頻繁な桁数を見つけることです。y軸の目盛り/値の桁数を切り捨てる計画に基づいています。例:ほとんどの目盛りが6桁の場合は、3桁に切り捨てて、軸ラベルに単語(千単位)を追加します。
どうすればこれを達成できますか?以下の関数では、ティックを1つずつ取得できますが、数値を切り捨てる要素を決定できるように、事前に取得する必要があります。関数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());
}