Update c3.js and c3.min.js

parent 0a932c91
...@@ -5101,6 +5101,11 @@ ...@@ -5101,6 +5101,11 @@
sizesX = $$.getAbscissa($$.config.ed3Type, minmax.minX, minmax.maxX); sizesX = $$.getAbscissa($$.config.ed3Type, minmax.minX, minmax.maxX);
} }
var sizesY = $$.getAxisData(minmax.minY, minmax.maxY); var sizesY = $$.getAxisData(minmax.minY, minmax.maxY);
if($$.config.normalized){
sizesY.max = Math.min(sizesY.max, 1);
sizesY.min = Math.max(sizesY.min, -1);
}
$$.api.axis.range({ $$.api.axis.range({
min: { min: {
...@@ -5128,7 +5133,10 @@ ...@@ -5128,7 +5133,10 @@
c3_chart_internal_fn.findMinMax = function () { c3_chart_internal_fn.findMinMax = function () {
var $$ = this; var $$ = this;
var minY, maxY, minX, maxX; var minY = Infinity,
maxY = -Infinity,
minX = Infinity,
maxX = -Infinity;
var i,j, id; var i,j, id;
var stacked; var stacked;
...@@ -5145,6 +5153,11 @@ ...@@ -5145,6 +5153,11 @@
}); });
} }
// For stacked bar(different algorithm)
var stackedBarSumUp = [];
var stackedBarSumDown = [];
// For all other charts
var stackedSum = []; var stackedSum = [];
var allData = $$.api.data(); var allData = $$.api.data();
...@@ -5155,33 +5168,45 @@ ...@@ -5155,33 +5168,45 @@
// calc min/max for X axis // calc min/max for X axis
for(i = 0; i < data.length; i++) { for(i = 0; i < data.length; i++) {
if (isUndefined(maxX) || data[i].x > maxX) minX = Math.min(minX, data[i].x);
maxX = data[i].x; maxX = Math.max(maxX, data[i].x);
if (isUndefined(minX) || data[i].x < minX)
minX = data[i].x;
} }
// calc min/max for Y axis // calc min/max for Y axis
for(i = 0; i < data.length; i++) { for(i = 0; i < data.length; i++) {
if (isUndefined(maxY) || data[i].value > maxY)
maxY = data[i].value;
if (isUndefined(minY) || data[i].value < minY)
minY = data[i].value;
// calc sum row for stacked // calc sum row for stacked
if (stacked) { if (stacked) {
if (!stackedSum[i]) if (stackedSum[i] === undefined){
stackedSum[i] = 0; stackedSum[i] = 0;
stackedSum[i] += data[i].value; stackedBarSumUp[i] = 0;
stackedBarSumDown[i] = 0;
}
// Stacked algorithm differs for bar and other charts
if ($$.isBarType(v)){
stackedBarSumUp[i] += Math.max(0, data[i].value);
stackedBarSumDown[i] += Math.min(0, data[i].value);
} else {
stackedSum[i] += data[i].value;
minY = Math.min(minY, stackedSum[i]);
maxY = Math.max(maxY, stackedSum[i]);
}
} else {
minY = Math.min(minY, data[i].value);
maxY = Math.max(maxY, data[i].value);
} }
} }
}); });
if (stacked) { if (stacked) {
for(i = 0; i < stackedSum.length; i++) { for(i = 0; i < stackedSum.length; i++) {
if (isUndefined(maxY) || stackedSum[i] > maxY) minY = Math.min(
maxY = stackedSum[i]; minY, stackedSum[i],
if (isUndefined(minY) || stackedSum[i] < minY) stackedBarSumDown[i], stackedBarSumUp[i]
minY = stackedSum[i]; );
maxY = Math.max(
maxY, stackedSum[i],
stackedBarSumDown[i], stackedBarSumUp[i]
);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment