MCPcopy Index your code
hub / github.com/SuperMap/iClient-JavaScript / adjustScaleForOverflow

Function adjustScaleForOverflow

libs/echarts/echarts-en.simple.js:37739–37772  ·  view source on GitHub ↗
(min, max, model, barWidthAndOffset)

Source from the content-addressed store, hash-verified

37737}
37738
37739function adjustScaleForOverflow(min, max, model, barWidthAndOffset) {
37740
37741 // Get Axis Length
37742 var axisExtent = model.axis.getExtent();
37743 var axisLength = axisExtent[1] - axisExtent[0];
37744
37745 // Get bars on current base axis and calculate min and max overflow
37746 var barsOnCurrentAxis = retrieveColumnLayout(barWidthAndOffset, model.axis);
37747 if (barsOnCurrentAxis === undefined) {
37748 return {min: min, max: max};
37749 }
37750
37751 var minOverflow = Infinity;
37752 each$1(barsOnCurrentAxis, function (item) {
37753 minOverflow = Math.min(item.offset, minOverflow);
37754 });
37755 var maxOverflow = -Infinity;
37756 each$1(barsOnCurrentAxis, function (item) {
37757 maxOverflow = Math.max(item.offset + item.width, maxOverflow);
37758 });
37759 minOverflow = Math.abs(minOverflow);
37760 maxOverflow = Math.abs(maxOverflow);
37761 var totalOverFlow = minOverflow + maxOverflow;
37762
37763 // Calulate required buffer based on old range and overflow
37764 var oldRange = max - min;
37765 var oldRangePercentOfNew = (1 - (minOverflow + maxOverflow) / axisLength);
37766 var overflowBuffer = ((oldRange / oldRangePercentOfNew) - oldRange);
37767
37768 max += overflowBuffer * (maxOverflow / totalOverFlow);
37769 min -= overflowBuffer * (minOverflow / totalOverFlow);
37770
37771 return {min: min, max: max};
37772}
37773
37774function niceScaleExtent(scale, model) {
37775 var extentInfo = getScaleExtent(scale, model);

Callers 1

getScaleExtentFunction · 0.70

Calls 5

minMethod · 0.80
maxMethod · 0.80
retrieveColumnLayoutFunction · 0.70
each$1Function · 0.70
getExtentMethod · 0.45

Tested by

no test coverage detected