example/public/ueditor/third-party/highcharts/highcharts.src.js
function () {

		var series = this,
			options = series.options,
			xAxis = series.xAxis,
			yAxis = series.yAxis,
			reversedXAxis = xAxis.reversed,
			stackKey,
			stackGroups = {},
			columnIndex,
			columnCount = 0;

		// Get the total number of column type series.
		// This is called on every series. Consider moving this logic to a
		// chart.orderStacks() function and call it on init, addSeries and removeSeries
		if (options.grouping === false) {
			columnCount = 1;
		} else {
			each(series.chart.series, function (otherSeries) {
				var otherOptions = otherSeries.options,
					otherYAxis = otherSeries.yAxis;
				if (otherSeries.type === series.type && otherSeries.visible &&
						yAxis.len === otherYAxis.len && yAxis.pos === otherYAxis.pos) {  // #642, #2086
					if (otherOptions.stacking) {
						stackKey = otherSeries.stackKey;
						if (stackGroups[stackKey] === UNDEFINED) {
							stackGroups[stackKey] = columnCount++;
						}
						columnIndex = stackGroups[stackKey];
					} else if (otherOptions.grouping !== false) { // #1162
						columnIndex = columnCount++;
					}
					otherSeries.columnIndex = columnIndex;
				}
			});
		}

		var categoryWidth = mathMin(
				mathAbs(xAxis.transA) * (xAxis.ordinalSlope || options.pointRange || xAxis.closestPointRange || 1), 
				xAxis.len // #1535
			),
			groupPadding = categoryWidth * options.groupPadding,
			groupWidth = categoryWidth - 2 * groupPadding,
			pointOffsetWidth = groupWidth / columnCount,
			optionPointWidth = options.pointWidth,
			pointPadding = defined(optionPointWidth) ? (pointOffsetWidth - optionPointWidth) / 2 :
				pointOffsetWidth * options.pointPadding,
			pointWidth = pick(optionPointWidth, pointOffsetWidth - 2 * pointPadding), // exact point width, used in polar charts
			colIndex = (reversedXAxis ? 
				columnCount - (series.columnIndex || 0) : // #1251
				series.columnIndex) || 0,
			pointXOffset = pointPadding + (groupPadding + colIndex *
				pointOffsetWidth - (categoryWidth / 2)) *
				(reversedXAxis ? -1 : 1);

		// Save it for reading in linked series (Error bars particularly)
		return (series.columnMetrics = { 
			width: pointWidth, 
			offset: pointXOffset 
		});
			
	}
function () {

		var series = this,
			options = series.options,
			xAxis = series.xAxis,
			yAxis = series.yAxis,
			reversedXAxis = xAxis.reversed,
			stackKey,
			stackGroups = {},
			columnIndex,
			columnCount = 0;

		// Get the total number of column type series.
		// This is called on every series. Consider moving this logic to a
		// chart.orderStacks() function and call it on init, addSeries and removeSeries
		if (options.grouping === false) {
			columnCount = 1;
		} else {
			each(series.chart.series, function (otherSeries) {
				var otherOptions = otherSeries.options,
					otherYAxis = otherSeries.yAxis;
				if (otherSeries.type === series.type && otherSeries.visible &&
						yAxis.len === otherYAxis.len && yAxis.pos === otherYAxis.pos) {  // #642, #2086
					if (otherOptions.stacking) {
						stackKey = otherSeries.stackKey;
						if (stackGroups[stackKey] === UNDEFINED) {
							stackGroups[stackKey] = columnCount++;
						}
						columnIndex = stackGroups[stackKey];
					} else if (otherOptions.grouping !== false) { // #1162
						columnIndex = columnCount++;
					}
					otherSeries.columnIndex = columnIndex;
				}
			});
		}

		var categoryWidth = mathMin(
				mathAbs(xAxis.transA) * (xAxis.ordinalSlope || options.pointRange || xAxis.closestPointRange || 1), 
				xAxis.len // #1535
			),
			groupPadding = categoryWidth * options.groupPadding,
			groupWidth = categoryWidth - 2 * groupPadding,
			pointOffsetWidth = groupWidth / columnCount,
			optionPointWidth = options.pointWidth,
			pointPadding = defined(optionPointWidth) ? (pointOffsetWidth - optionPointWidth) / 2 :
				pointOffsetWidth * options.pointPadding,
			pointWidth = pick(optionPointWidth, pointOffsetWidth - 2 * pointPadding), // exact point width, used in polar charts
			colIndex = (reversedXAxis ? 
				columnCount - (series.columnIndex || 0) : // #1251
				series.columnIndex) || 0,
			pointXOffset = pointPadding + (groupPadding + colIndex *
				pointOffsetWidth - (categoryWidth / 2)) *
				(reversedXAxis ? -1 : 1);

		// Save it for reading in linked series (Error bars particularly)
		return (series.columnMetrics = { 
			width: pointWidth, 
			offset: pointXOffset 
		});
			
	}
function ( ) { var series = this , options = series . options , xAxis = series . xAxis , yAxis = series . yAxis , reversedXAxis = xAxis . reversed , stackKey , stackGroups = { } , columnIndex , columnCount = 0 ; // Get the total number of column type series. // This is called on every series. Consider moving this logic to a // chart.orderStacks() function and call it on init, addSeries and removeSeries if ( options . grouping === false ) { columnCount = 1 ; } else { each ( series . chart . series , function ( otherSeries ) { var otherOptions = otherSeries . options , otherYAxis = otherSeries . yAxis ; if ( otherSeries . type === series . type && otherSeries . visible && yAxis . len === otherYAxis . len && yAxis . pos === otherYAxis . pos ) { // #642, #2086 if ( otherOptions . stacking ) { stackKey = otherSeries . stackKey ; if ( stackGroups [ stackKey ] === UNDEFINED ) { stackGroups [ stackKey ] = columnCount ++ ; } columnIndex = stackGroups [ stackKey ] ; } else if ( otherOptions . grouping !== false ) { // #1162 columnIndex = columnCount ++ ; } otherSeries . columnIndex = columnIndex ; } } ) ; } var categoryWidth = mathMin ( mathAbs ( xAxis . transA ) * ( xAxis . ordinalSlope || options . pointRange || xAxis . closestPointRange || 1 ) , xAxis . len // #1535 ) , groupPadding = categoryWidth * options . groupPadding , groupWidth = categoryWidth - 2 * groupPadding , pointOffsetWidth = groupWidth / columnCount , optionPointWidth = options . pointWidth , pointPadding = defined ( optionPointWidth ) ? ( pointOffsetWidth - optionPointWidth ) / 2 : pointOffsetWidth * options . pointPadding , pointWidth = pick ( optionPointWidth , pointOffsetWidth - 2 * pointPadding ) , // exact point width, used in polar charts colIndex = ( reversedXAxis ? columnCount - ( series . columnIndex || 0 ) : // #1251 series . columnIndex ) || 0 , pointXOffset = pointPadding + ( groupPadding + colIndex * pointOffsetWidth - ( categoryWidth / 2 ) ) * ( reversedXAxis ? - 1 : 1 ) ; // Save it for reading in linked series (Error bars particularly) return ( series . columnMetrics = { width : pointWidth , offset : pointXOffset } ) ; }
Return the width and x offset of the columns adjusted for grouping, groupPadding, pointPadding,
pointWidth etc.
Return the width and x offset of the columns adjusted for grouping groupPadding pointPadding pointWidth etc .