example/public/ueditor/third-party/highcharts/highcharts.src.js
function () {
		var axis = this,
			options = axis.options,
			min = axis.min,
			max = axis.max,
			zoomOffset,
			spaceAvailable = axis.dataMax - axis.dataMin >= axis.minRange,
			closestDataRange,
			i,
			distance,
			xData,
			loopLength,
			minArgs,
			maxArgs;

		// Set the automatic minimum range based on the closest point distance
		if (axis.isXAxis && axis.minRange === UNDEFINED && !axis.isLog) {

			if (defined(options.min) || defined(options.max)) {
				axis.minRange = null; // don't do this again

			} else {

				// Find the closest distance between raw data points, as opposed to
				// closestPointRange that applies to processed points (cropped and grouped)
				each(axis.series, function (series) {
					xData = series.xData;
					loopLength = series.xIncrement ? 1 : xData.length - 1;
					for (i = loopLength; i > 0; i--) {
						distance = xData[i] - xData[i - 1];
						if (closestDataRange === UNDEFINED || distance < closestDataRange) {
							closestDataRange = distance;
						}
					}
				});
				axis.minRange = mathMin(closestDataRange * 5, axis.dataMax - axis.dataMin);
			}
		}

		// if minRange is exceeded, adjust
		if (max - min < axis.minRange) {
			var minRange = axis.minRange;
			zoomOffset = (minRange - max + min) / 2;

			// if min and max options have been set, don't go beyond it
			minArgs = [min - zoomOffset, pick(options.min, min - zoomOffset)];
			if (spaceAvailable) { // if space is available, stay within the data range
				minArgs[2] = axis.dataMin;
			}
			min = arrayMax(minArgs);

			maxArgs = [min + minRange, pick(options.max, min + minRange)];
			if (spaceAvailable) { // if space is availabe, stay within the data range
				maxArgs[2] = axis.dataMax;
			}

			max = arrayMin(maxArgs);

			// now if the max is adjusted, adjust the min back
			if (max - min < minRange) {
				minArgs[0] = max - minRange;
				minArgs[1] = pick(options.min, max - minRange);
				min = arrayMax(minArgs);
			}
		}
		
		// Record modified extremes
		axis.min = min;
		axis.max = max;
	}
function () {
		var axis = this,
			options = axis.options,
			min = axis.min,
			max = axis.max,
			zoomOffset,
			spaceAvailable = axis.dataMax - axis.dataMin >= axis.minRange,
			closestDataRange,
			i,
			distance,
			xData,
			loopLength,
			minArgs,
			maxArgs;

		// Set the automatic minimum range based on the closest point distance
		if (axis.isXAxis && axis.minRange === UNDEFINED && !axis.isLog) {

			if (defined(options.min) || defined(options.max)) {
				axis.minRange = null; // don't do this again

			} else {

				// Find the closest distance between raw data points, as opposed to
				// closestPointRange that applies to processed points (cropped and grouped)
				each(axis.series, function (series) {
					xData = series.xData;
					loopLength = series.xIncrement ? 1 : xData.length - 1;
					for (i = loopLength; i > 0; i--) {
						distance = xData[i] - xData[i - 1];
						if (closestDataRange === UNDEFINED || distance < closestDataRange) {
							closestDataRange = distance;
						}
					}
				});
				axis.minRange = mathMin(closestDataRange * 5, axis.dataMax - axis.dataMin);
			}
		}

		// if minRange is exceeded, adjust
		if (max - min < axis.minRange) {
			var minRange = axis.minRange;
			zoomOffset = (minRange - max + min) / 2;

			// if min and max options have been set, don't go beyond it
			minArgs = [min - zoomOffset, pick(options.min, min - zoomOffset)];
			if (spaceAvailable) { // if space is available, stay within the data range
				minArgs[2] = axis.dataMin;
			}
			min = arrayMax(minArgs);

			maxArgs = [min + minRange, pick(options.max, min + minRange)];
			if (spaceAvailable) { // if space is availabe, stay within the data range
				maxArgs[2] = axis.dataMax;
			}

			max = arrayMin(maxArgs);

			// now if the max is adjusted, adjust the min back
			if (max - min < minRange) {
				minArgs[0] = max - minRange;
				minArgs[1] = pick(options.min, max - minRange);
				min = arrayMax(minArgs);
			}
		}
		
		// Record modified extremes
		axis.min = min;
		axis.max = max;
	}
function ( ) { var axis = this , options = axis . options , min = axis . min , max = axis . max , zoomOffset , spaceAvailable = axis . dataMax - axis . dataMin >= axis . minRange , closestDataRange , i , distance , xData , loopLength , minArgs , maxArgs ; // Set the automatic minimum range based on the closest point distance if ( axis . isXAxis && axis . minRange === UNDEFINED && ! axis . isLog ) { if ( defined ( options . min ) || defined ( options . max ) ) { axis . minRange = null ; // don't do this again } else { // Find the closest distance between raw data points, as opposed to // closestPointRange that applies to processed points (cropped and grouped) each ( axis . series , function ( series ) { xData = series . xData ; loopLength = series . xIncrement ? 1 : xData . length - 1 ; for ( i = loopLength ; i > 0 ; i -- ) { distance = xData [ i ] - xData [ i - 1 ] ; if ( closestDataRange === UNDEFINED || distance < closestDataRange ) { closestDataRange = distance ; } } } ) ; axis . minRange = mathMin ( closestDataRange * 5 , axis . dataMax - axis . dataMin ) ; } } // if minRange is exceeded, adjust if ( max - min < axis . minRange ) { var minRange = axis . minRange ; zoomOffset = ( minRange - max + min ) / 2 ; // if min and max options have been set, don't go beyond it minArgs = [ min - zoomOffset , pick ( options . min , min - zoomOffset ) ] ; if ( spaceAvailable ) { // if space is available, stay within the data range minArgs [ 2 ] = axis . dataMin ; } min = arrayMax ( minArgs ) ; maxArgs = [ min + minRange , pick ( options . max , min + minRange ) ] ; if ( spaceAvailable ) { // if space is availabe, stay within the data range maxArgs [ 2 ] = axis . dataMax ; } max = arrayMin ( maxArgs ) ; // now if the max is adjusted, adjust the min back if ( max - min < minRange ) { minArgs [ 0 ] = max - minRange ; minArgs [ 1 ] = pick ( options . min , max - minRange ) ; min = arrayMax ( minArgs ) ; } } // Record modified extremes axis . min = min ; axis . max = max ; }
Adjust the min and max for the minimum range. Keep in mind that the series data is
not yet processed, so we don't have information on data cropping and grouping, or
updated axis.pointRange or series.pointRange. The data can't be processed until
we have finally established min and max.
Adjust the min and max for the minimum range . Keep in mind that the series data is not yet processed so we don t have information on data cropping and grouping or updated axis . pointRange or series . pointRange . The data can t be processed until we have finally established min and max .