docs: 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;
  	}