Translate

2016年5月13日金曜日

グラフのy軸表示用のキリのいい値を求めたい【javascript】

canvasで自前でグラフを作成するとき、y軸の値を自動で表示するために書いた。
ざっくり分けて表示するだけだが、とりあえず。


グラフの最大値が170→y軸の最大値は200
グラフの最大値が110→y軸の最大値は150
グラフの最大値が101→y軸の最大値は150
(最大値がmaxvalue、整数として判明しているとする)

var graph_y_max,digit;
digit = String(maxvalue).length;

if(Math.round(maxvalue * Math.pow(0.1,digit -1))>maxvalue * Math.pow(0.1,digit-1) )
{

         graph_y_max = Math.round(maxvalue * Math.pow(0.1,digit -1)) * Math.pow(10,digit -1) ;
     
}
else {

         graph_y_max = (Math.round(maxvalue * Math.pow(0.1,digit-1))+0.5) * Math.pow(10,digit - 1);
     
}

2番目の桁を四捨五入して、繰り上がるならその値を使う。
繰り下がるなら、繰り下がった値に5を足す。

0 件のコメント:

コメントを投稿