quoslibero
Version:
FusionCharts JavaScript charting framework
1 lines • 876 B
JavaScript
import FcLog from'../../../fc-core/src/axis/scales/log';import linearTicks from'../../../fc-core/src/axis/utils/array/ticks';class Log extends FcLog{ticks(a){var b,c,e,f,g,h,k,l,m,n,o,p,q=Math.pow,s=Math.floor,t=Math.ceil,u=Math.log,[v,w]=this.getDomain(),x=0,y=[],z=[],A=0,B=this.base,C=u(B)/2.302585092994046,D=1<B?-1:1,d=C%1?4:8;if(0>=v||0>=w)return y;for(v>w&&([w,v]=this.getDomain(),x=1),1<B?(b=t(u(w)/u(B)),c=s(u(v)/u(B)),f=b,e=c):0<B&&1>B&&(b=s(u(w)/u(B)),c=t(u(v)/u(B)),f=c,e=b),h=c,k=e;k<=f;++k){if(g=this.pows(h),void 0!==p)for(1<B?b=t(u(g)/u(B)):0<B&&1>B&&(b=s(u(g)/u(B))),m=q(B,b)-q(B,b+D),n=m/(d+1),l=1;l<=d;++l)o=q(B,b+D)+n*l,y.push(o),z.push('minor'),(v>o||w<o)&&++A;y.push(g),z.push('major'),(v>g||w<g)&&++A,p=g,1<B?h++:h--}return this._tickType=z,2>=y.length-A&&(y=linearTicks(v,w,a),this._tickType=void 0),this.majorTicks=x?y.reverse():y}}export default Log;