src/scales/scale.radialLinear.js
function(largestPossibleRadius, furthestLimits, furthestAngles) {
		var me = this;
		var radiusReductionLeft = furthestLimits.l / Math.sin(furthestAngles.l);
		var radiusReductionRight = Math.max(furthestLimits.r - me.width, 0) / Math.sin(furthestAngles.r);
		var radiusReductionTop = -furthestLimits.t / Math.cos(furthestAngles.t);
		var radiusReductionBottom = -Math.max(furthestLimits.b - (me.height - me.paddingTop), 0) / Math.cos(furthestAngles.b);

		radiusReductionLeft = numberOrZero(radiusReductionLeft);
		radiusReductionRight = numberOrZero(radiusReductionRight);
		radiusReductionTop = numberOrZero(radiusReductionTop);
		radiusReductionBottom = numberOrZero(radiusReductionBottom);

		me.drawingArea = Math.min(
			Math.floor(largestPossibleRadius - (radiusReductionLeft + radiusReductionRight) / 2),
			Math.floor(largestPossibleRadius - (radiusReductionTop + radiusReductionBottom) / 2));
		me.setCenterPoint(radiusReductionLeft, radiusReductionRight, radiusReductionTop, radiusReductionBottom);
	}
function(largestPossibleRadius, furthestLimits, furthestAngles) {
		var me = this;
		var radiusReductionLeft = furthestLimits.l / Math.sin(furthestAngles.l);
		var radiusReductionRight = Math.max(furthestLimits.r - me.width, 0) / Math.sin(furthestAngles.r);
		var radiusReductionTop = -furthestLimits.t / Math.cos(furthestAngles.t);
		var radiusReductionBottom = -Math.max(furthestLimits.b - (me.height - me.paddingTop), 0) / Math.cos(furthestAngles.b);

		radiusReductionLeft = numberOrZero(radiusReductionLeft);
		radiusReductionRight = numberOrZero(radiusReductionRight);
		radiusReductionTop = numberOrZero(radiusReductionTop);
		radiusReductionBottom = numberOrZero(radiusReductionBottom);

		me.drawingArea = Math.min(
			Math.floor(largestPossibleRadius - (radiusReductionLeft + radiusReductionRight) / 2),
			Math.floor(largestPossibleRadius - (radiusReductionTop + radiusReductionBottom) / 2));
		me.setCenterPoint(radiusReductionLeft, radiusReductionRight, radiusReductionTop, radiusReductionBottom);
	}
function ( largestPossibleRadius , furthestLimits , furthestAngles ) { var me = this ; var radiusReductionLeft = furthestLimits . l / Math . sin ( furthestAngles . l ) ; var radiusReductionRight = Math . max ( furthestLimits . r - me . width , 0 ) / Math . sin ( furthestAngles . r ) ; var radiusReductionTop = - furthestLimits . t / Math . cos ( furthestAngles . t ) ; var radiusReductionBottom = - Math . max ( furthestLimits . b - ( me . height - me . paddingTop ) , 0 ) / Math . cos ( furthestAngles . b ) ; radiusReductionLeft = numberOrZero ( radiusReductionLeft ) ; radiusReductionRight = numberOrZero ( radiusReductionRight ) ; radiusReductionTop = numberOrZero ( radiusReductionTop ) ; radiusReductionBottom = numberOrZero ( radiusReductionBottom ) ; me . drawingArea = Math . min ( Math . floor ( largestPossibleRadius - ( radiusReductionLeft + radiusReductionRight ) / 2 ) , Math . floor ( largestPossibleRadius - ( radiusReductionTop + radiusReductionBottom ) / 2 ) ) ; me . setCenterPoint ( radiusReductionLeft , radiusReductionRight , radiusReductionTop , radiusReductionBottom ) ; }
Set radius reductions and determine new radius and center point
@private
Set radius reductions and determine new radius and center point