example/public/ueditor/third-party/highcharts/highcharts.src.js
function (dataLabel, options, alignAttr, bBox, alignTo, isNew) {
		var chart = this.chart,
			align = options.align,
			verticalAlign = options.verticalAlign,
			off,
			justified;

		// Off left
		off = alignAttr.x;
		if (off < 0) {
			if (align === 'right') {
				options.align = 'left';
			} else {
				options.x = -off;
			}
			justified = true;
		}

		// Off right
		off = alignAttr.x + bBox.width;
		if (off > chart.plotWidth) {
			if (align === 'left') {
				options.align = 'right';
			} else {
				options.x = chart.plotWidth - off;
			}
			justified = true;
		}

		// Off top
		off = alignAttr.y;
		if (off < 0) {
			if (verticalAlign === 'bottom') {
				options.verticalAlign = 'top';
			} else {
				options.y = -off;
			}
			justified = true;
		}

		// Off bottom
		off = alignAttr.y + bBox.height;
		if (off > chart.plotHeight) {
			if (verticalAlign === 'top') {
				options.verticalAlign = 'bottom';
			} else {
				options.y = chart.plotHeight - off;
			}
			justified = true;
		}
		
		if (justified) {
			dataLabel.placed = !isNew;
			dataLabel.align(options, null, alignTo);
		}
	}
function (dataLabel, options, alignAttr, bBox, alignTo, isNew) {
		var chart = this.chart,
			align = options.align,
			verticalAlign = options.verticalAlign,
			off,
			justified;

		// Off left
		off = alignAttr.x;
		if (off < 0) {
			if (align === 'right') {
				options.align = 'left';
			} else {
				options.x = -off;
			}
			justified = true;
		}

		// Off right
		off = alignAttr.x + bBox.width;
		if (off > chart.plotWidth) {
			if (align === 'left') {
				options.align = 'right';
			} else {
				options.x = chart.plotWidth - off;
			}
			justified = true;
		}

		// Off top
		off = alignAttr.y;
		if (off < 0) {
			if (verticalAlign === 'bottom') {
				options.verticalAlign = 'top';
			} else {
				options.y = -off;
			}
			justified = true;
		}

		// Off bottom
		off = alignAttr.y + bBox.height;
		if (off > chart.plotHeight) {
			if (verticalAlign === 'top') {
				options.verticalAlign = 'bottom';
			} else {
				options.y = chart.plotHeight - off;
			}
			justified = true;
		}
		
		if (justified) {
			dataLabel.placed = !isNew;
			dataLabel.align(options, null, alignTo);
		}
	}
function ( dataLabel , options , alignAttr , bBox , alignTo , isNew ) { var chart = this . chart , align = options . align , verticalAlign = options . verticalAlign , off , justified ; // Off left off = alignAttr . x ; if ( off < 0 ) { if ( align === 'right' ) { options . align = 'left' ; } else { options . x = - off ; } justified = true ; } // Off right off = alignAttr . x + bBox . width ; if ( off > chart . plotWidth ) { if ( align === 'left' ) { options . align = 'right' ; } else { options . x = chart . plotWidth - off ; } justified = true ; } // Off top off = alignAttr . y ; if ( off < 0 ) { if ( verticalAlign === 'bottom' ) { options . verticalAlign = 'top' ; } else { options . y = - off ; } justified = true ; } // Off bottom off = alignAttr . y + bBox . height ; if ( off > chart . plotHeight ) { if ( verticalAlign === 'top' ) { options . verticalAlign = 'bottom' ; } else { options . y = chart . plotHeight - off ; } justified = true ; } if ( justified ) { dataLabel . placed = ! isNew ; dataLabel . align ( options , null , alignTo ) ; } }
If data labels fall partly outside the plot area, align them back in, in a way that
doesn't hide the point.
If data labels fall partly outside the plot area align them back in in a way that doesn t hide the point .