yAxis を特定の量にリセットするボタンがある複数のシリーズを含むチャートがあります。この特定の量を yAxis 値の 85 パーセンタイルに設定したいと思います。これを計算する方法はありますか?jsfiddle の例: http://jsfiddle.net/inadcod/TynwP/
質問する
1288 次
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);
于 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 に答える