Commit 7111d0b5 authored by Sergey Luzyanin's avatar Sergey Luzyanin

Исправлен баг с неправильным расчетом значений горизонтальной оси для диаграмм

parent 1c0ad3d2
...@@ -1252,14 +1252,22 @@ CChartsDrawer.prototype = ...@@ -1252,14 +1252,22 @@ CChartsDrawer.prototype =
{ {
//chartProp.chart.plotArea.valAx.scaling.logBase //chartProp.chart.plotArea.valAx.scaling.logBase
var axisMin, axisMax, firstDegree, step, arrayValues; var axisMin, axisMax, firstDegree, step, arrayValues;
if(chartProp.chart.plotArea.valAx && chartProp.chart.plotArea.valAx.scaling.logBase) if(!('Scatter' == this.calcProp.type && isOx)){
{ if(chartProp.chart.plotArea.valAx && chartProp.chart.plotArea.valAx.scaling.logBase)
arrayValues = this._getLogArray(yMin, yMax, chartProp.chart.plotArea.valAx.scaling.logBase); {
return arrayValues; arrayValues = this._getLogArray(yMin, yMax, chartProp.chart.plotArea.valAx.scaling.logBase);
return arrayValues;
}
}
else{
if(chartProp.chart.plotArea.catAx && chartProp.chart.plotArea.catAx.scaling && chartProp.chart.plotArea.catAx.scaling.logBase)
{
arrayValues = this._getLogArray(yMin, yMax, chartProp.chart.plotArea.catAx.scaling.logBase);
return arrayValues;
}
} }
chartProp.chart.plotArea.valAx && chartProp.chart.plotArea.valAx.scaling ? chartProp.chart.plotArea.valAx.scaling.max : null;
//максимальное и минимальное значение(по документации excel) //максимальное и минимальное значение(по документации excel)
var trueMinMax = this._getTrueMinMax(isOx, yMin, yMax); var trueMinMax = this._getTrueMinMax(isOx, yMin, yMax);
...@@ -1309,11 +1317,12 @@ CChartsDrawer.prototype = ...@@ -1309,11 +1317,12 @@ CChartsDrawer.prototype =
//приводим к первому порядку //приводим к первому порядку
firstDegree = this._getFirstDegree((Math.abs(axisMax - axisMin)) / 10); firstDegree = this._getFirstDegree((Math.abs(axisMax - axisMin)) / 10);
var axis = 'Scatter' == this.calcProp.type && isOx ? chartProp.chart.plotArea.catAx : chartProp.chart.plotArea.valAx;
//находим шаг //находим шаг
if(chartProp.chart.plotArea.valAx && chartProp.chart.plotArea.valAx.majorUnit !== null) if(axis && axis.majorUnit !== null)
{ {
step = chartProp.chart.plotArea.valAx.majorUnit; step = axis.majorUnit;
} }
else else
{ {
...@@ -2827,7 +2836,7 @@ drawBarChart.prototype = ...@@ -2827,7 +2836,7 @@ drawBarChart.prototype =
if(seria.length) if(seria.length)
seriesCounter++; seriesCounter++;
} }
if(this.cChartDrawer.nDimensionCount === 3) if(this.cChartDrawer.nDimensionCount === 3)
{ {
this.sortZIndexPaths.sort (function sortArr(a, b) this.sortZIndexPaths.sort (function sortArr(a, b)
...@@ -3047,10 +3056,10 @@ drawBarChart.prototype = ...@@ -3047,10 +3056,10 @@ drawBarChart.prototype =
unfront: 5 unfront: 5
}; };
var drawVerges = function(i, j, paths, onlyLessNull, start, stop) var drawVerges = function(i, j, paths, onlyLessNull, start, stop)
{ {
var brush, pen, options; var brush, pen, options;
options = t._getOptionsForDrawing(i, j, onlyLessNull); options = t._getOptionsForDrawing(i, j, onlyLessNull);
if(options !== null) if(options !== null)
{ {
pen = options.pen; pen = options.pen;
...@@ -3058,7 +3067,7 @@ drawBarChart.prototype = ...@@ -3058,7 +3067,7 @@ drawBarChart.prototype =
for(var k = start; k <= stop; k++) for(var k = start; k <= stop; k++)
{ {
t._drawBar3D(paths[k], pen, brush, k); t._drawBar3D(paths[k], pen, brush, k);
} }
} }
}; };
...@@ -3649,80 +3658,80 @@ drawLineChart.prototype = ...@@ -3649,80 +3658,80 @@ drawLineChart.prototype =
_drawLines3D: function() _drawLines3D: function()
{ {
var t = this; var t = this;
var drawVerges = function(j, i, onlyLessNull) var drawVerges = function(j, i, onlyLessNull)
{ {
var brush, pen, seria; var brush, pen, seria;
seria = t.chartProp.series[j]; seria = t.chartProp.series[j];
brush = seria.brush; brush = seria.brush;
pen = seria.pen; pen = seria.pen;
if(!(!t.paths.series[j] || !t.paths.series[j][i] || !seria.val.numRef.numCache.pts[i])) if(!(!t.paths.series[j] || !t.paths.series[j][i] || !seria.val.numRef.numCache.pts[i]))
{ {
if(seria.val.numRef.numCache.pts[i].pen) if(seria.val.numRef.numCache.pts[i].pen)
pen = seria.val.numRef.numCache.pts[i].pen; pen = seria.val.numRef.numCache.pts[i].pen;
if(seria.val.numRef.numCache.pts[i].brush) if(seria.val.numRef.numCache.pts[i].brush)
brush = seria.val.numRef.numCache.pts[i].brush; brush = seria.val.numRef.numCache.pts[i].brush;
for(var k = 0; k < t.paths.series[j][i].length; k++) for(var k = 0; k < t.paths.series[j][i].length; k++)
{ {
t._drawLine3D(t.paths.series[j][i][k], pen, brush, k); t._drawLine3D(t.paths.series[j][i][k], pen, brush, k);
} }
} }
}; };
//рисуем по сериям //рисуем по сериям
var onSeries = function(onlyLessNull) var onSeries = function(onlyLessNull)
{ {
var drawNeedVerge = function() var drawNeedVerge = function()
{ {
for (var j = 0; j < t.paths.series.length; j++) for (var j = 0; j < t.paths.series.length; j++)
{ {
for (var i = 0; i < t.chartProp.ptCount; i++) for (var i = 0; i < t.chartProp.ptCount; i++)
{ {
drawVerges(j, i, onlyLessNull); drawVerges(j, i, onlyLessNull);
} }
} }
}; };
drawNeedVerge(); drawNeedVerge();
}; };
var reverseSeriesOnSeries = function(onlyLessNull) var reverseSeriesOnSeries = function(onlyLessNull)
{ {
var drawNeedVerge = function() var drawNeedVerge = function()
{ {
for (var j = t.paths.series.length - 1; j >= 0; j--) for (var j = t.paths.series.length - 1; j >= 0; j--)
{ {
if(!t.paths.series) if(!t.paths.series)
return; return;
for (var i = 0; i < t.chartProp.ptCount; i++) for (var i = 0; i < t.chartProp.ptCount; i++)
{ {
drawVerges(j, i, onlyLessNull); drawVerges(j, i, onlyLessNull);
} }
} }
}; };
drawNeedVerge(); drawNeedVerge();
}; };
if(!this.cChartDrawer.processor3D.view3D.rAngAx) if(!this.cChartDrawer.processor3D.view3D.rAngAx)
{ {
var angle = Math.abs(this.cChartDrawer.processor3D.angleOy); var angle = Math.abs(this.cChartDrawer.processor3D.angleOy);
if(angle > Math.PI / 2 && angle < 3 * Math.PI / 2) if(angle > Math.PI / 2 && angle < 3 * Math.PI / 2)
onSeries(); onSeries();
else else
reverseSeriesOnSeries(); reverseSeriesOnSeries();
} }
else else
{ {
reverseSeriesOnSeries(); reverseSeriesOnSeries();
} }
}, },
......
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