1

yAxis を特定の量にリセットするボタンがある複数のシリーズを含むチャートがあります。この特定の量を yAxis 値の 85 パーセンタイルに設定したいと思います。これを計算する方法はありますか?jsfiddle の例: http://jsfiddle.net/inadcod/TynwP/

4

2 に答える 2

2

クライアントでこれを行うのは非常に奇妙です。実際にデータを送信しているサーバーで 85 パーセンタイルの値を簡単に並べ替えて取得し、それを y 軸の最大値として使用できます。

とにかく、オブジェクト配列を使用してデータ値にアクセスできますseries.points。これには、指定されたシリーズのすべてのポイントが含まれておりpoint.y、興味深いと思われる多くのプロパティがあります。これらすべてをループして、便宜上別の配列に格納し、この新しい配列を並べ替えます。配列の長さを取り、希望する係数(0.85)を掛けます。これは、85パーセンタイルとも呼ばれる要素のインデックスです。この値を使用して、指定された yAxis の最小値を設定します

var yData = [];
$.each(chart.series[0].points, function() {
    yData.push(this.y);
});
var sortedY = sort(yData);
var eightyFifthPercentile = sortedY[Math.floor(sortedY.length * 0.85)];

alert(eightyFifthPercentile); 

http://jsfiddle.net/jugal/HkS2Y/

于 2012-09-06T21:16:20.633 に答える
0

あなたはこのようにそれを行うことができます:

var yAxis = chart.yAxis[0];
var extremes = yAxis.getExtremes();
yAxis.setExtremes(extremes.min, extremes.dataMax * 0.85);

こちらのデモをご覧ください:http://jsfiddle.net/gyavJ/

于 2012-09-05T20:01:08.173 に答える