src/core/core.scale.js
function(ticks) {
		var me = this;
		var isHorizontal = me.isHorizontal();
		var optionTicks = me.options.ticks;
		var tickCount = ticks.length;
		var skipRatio = false;
		var maxTicks = optionTicks.maxTicksLimit;

		// Total space needed to display all ticks. First and last ticks are
		// drawn as their center at end of axis, so tickCount-1
		var ticksLength = me._tickSize() * (tickCount - 1);

		// Axis length
		var axisLength = isHorizontal
			? me.width - (me.paddingLeft + me.paddingRight)
			: me.height - (me.paddingTop + me.PaddingBottom);

		var result = [];
		var i, tick;

		if (ticksLength > axisLength) {
			skipRatio = 1 + Math.floor(ticksLength / axisLength);
		}

		// if they defined a max number of optionTicks,
		// increase skipRatio until that number is met
		if (tickCount > maxTicks) {
			skipRatio = Math.max(skipRatio, 1 + Math.floor(tickCount / maxTicks));
		}

		for (i = 0; i < tickCount; i++) {
			tick = ticks[i];

			if (skipRatio > 1 && i % skipRatio > 0) {
				// leave tick in place but make sure it's not displayed (#4635)
				delete tick.label;
			}
			result.push(tick);
		}
		return result;
	}
function(ticks) {
		var me = this;
		var isHorizontal = me.isHorizontal();
		var optionTicks = me.options.ticks;
		var tickCount = ticks.length;
		var skipRatio = false;
		var maxTicks = optionTicks.maxTicksLimit;

		// Total space needed to display all ticks. First and last ticks are
		// drawn as their center at end of axis, so tickCount-1
		var ticksLength = me._tickSize() * (tickCount - 1);

		// Axis length
		var axisLength = isHorizontal
			? me.width - (me.paddingLeft + me.paddingRight)
			: me.height - (me.paddingTop + me.PaddingBottom);

		var result = [];
		var i, tick;

		if (ticksLength > axisLength) {
			skipRatio = 1 + Math.floor(ticksLength / axisLength);
		}

		// if they defined a max number of optionTicks,
		// increase skipRatio until that number is met
		if (tickCount > maxTicks) {
			skipRatio = Math.max(skipRatio, 1 + Math.floor(tickCount / maxTicks));
		}

		for (i = 0; i < tickCount; i++) {
			tick = ticks[i];

			if (skipRatio > 1 && i % skipRatio > 0) {
				// leave tick in place but make sure it's not displayed (#4635)
				delete tick.label;
			}
			result.push(tick);
		}
		return result;
	}
function ( ticks ) { var me = this ; var isHorizontal = me . isHorizontal ( ) ; var optionTicks = me . options . ticks ; var tickCount = ticks . length ; var skipRatio = false ; var maxTicks = optionTicks . maxTicksLimit ; // Total space needed to display all ticks. First and last ticks are // drawn as their center at end of axis, so tickCount-1 var ticksLength = me . _tickSize ( ) * ( tickCount - 1 ) ; // Axis length var axisLength = isHorizontal ? me . width - ( me . paddingLeft + me . paddingRight ) : me . height - ( me . paddingTop + me . PaddingBottom ) ; var result = [ ] ; var i , tick ; if ( ticksLength > axisLength ) { skipRatio = 1 + Math . floor ( ticksLength / axisLength ) ; } // if they defined a max number of optionTicks, // increase skipRatio until that number is met if ( tickCount > maxTicks ) { skipRatio = Math . max ( skipRatio , 1 + Math . floor ( tickCount / maxTicks ) ) ; } for ( i = 0 ; i < tickCount ; i ++ ) { tick = ticks [ i ] ; if ( skipRatio > 1 && i % skipRatio > 0 ) { // leave tick in place but make sure it's not displayed (#4635) delete tick . label ; } result . push ( tick ) ; } return result ; }
Returns a subset of ticks to be plotted to avoid overlapping labels.
@private
Returns a subset of ticks to be plotted to avoid overlapping labels .