Commit 18d8c8c2 authored by Sergey Luzyanin's avatar Sergey Luzyanin

correcting plotArea rect in scatter charts

parent e5260fb1
...@@ -3732,6 +3732,25 @@ CChartSpace.prototype.recalculateAxis = function() ...@@ -3732,6 +3732,25 @@ CChartSpace.prototype.recalculateAxis = function()
} }
y_ax.labels.x = rect.x + hor_interval_width*(arr_x_val[arr_x_val.length-1] - arr_x_val[0]); y_ax.labels.x = rect.x + hor_interval_width*(arr_x_val[arr_x_val.length-1] - arr_x_val[0]);
y_ax.posX = rect.x + (crosses-arr_x_val[0])*hor_interval_width; y_ax.posX = rect.x + (crosses-arr_x_val[0])*hor_interval_width;
if(y_ax.labels.x < 0){
rect.x -= y_ax.labels.x;
rect.w += y_ax.labels.x;
bCorrectedLayoutRect = true;
}
if(y_ax.labels.x + y_ax.labels.extX > this.extX){
rect.w -= (y_ax.labels.x + y_ax.labels.extX - this.extX);
bCorrectedLayoutRect = true;
}
if(bCorrectedLayoutRect){
hor_interval_width = checkFiniteNumber(rect.w/(arr_x_val[arr_x_val.length-1] - arr_x_val[0]));
for(i = 0; i < arr_x_val.length; ++i)
{
arr_x_points[i] = rect.x + hor_interval_width*(arr_x_val[i] - arr_x_val[0]);
}
y_ax.labels.x = rect.x + hor_interval_width*(arr_x_val[arr_x_val.length-1] - arr_x_val[0]);
y_ax.posX = rect.x + (crosses-arr_x_val[0])*hor_interval_width;
}
} }
break; break;
} }
...@@ -3763,6 +3782,27 @@ CChartSpace.prototype.recalculateAxis = function() ...@@ -3763,6 +3782,27 @@ CChartSpace.prototype.recalculateAxis = function()
} }
y_ax.labels.x = rect.x - y_ax.labels.extX; y_ax.labels.x = rect.x - y_ax.labels.extX;
y_ax.posX = rect.x + (crosses-arr_x_val[0])*hor_interval_width; y_ax.posX = rect.x + (crosses-arr_x_val[0])*hor_interval_width;
if(y_ax.labels.x < 0){
rect.x -= y_ax.labels.x;
rect.w += y_ax.labels.x;
bCorrectedLayoutRect = true;
}
if(y_ax.labels.x + y_ax.labels.extX > this.extX){
rect.w -= (y_ax.labels.x + y_ax.labels.extX - this.extX);
bCorrectedLayoutRect = true;
}
if(bCorrectedLayoutRect){
hor_interval_width = checkFiniteNumber(rect.w/(arr_x_val[arr_x_val.length-1] - arr_x_val[0]));
for(i = 0; i < arr_x_val.length; ++i)
{
arr_x_points[i] = rect.x + hor_interval_width*(arr_x_val[i] - arr_x_val[0]);
}
y_ax.labels.x = rect.x - y_ax.labels.extX;
y_ax.posX = rect.x + (crosses-arr_x_val[0])*hor_interval_width;
}
} }
break; break;
...@@ -3819,6 +3859,26 @@ CChartSpace.prototype.recalculateAxis = function() ...@@ -3819,6 +3859,26 @@ CChartSpace.prototype.recalculateAxis = function()
{ {
arr_x_points[i] = rect.x + hor_interval_width*(arr_x_val[i] - arr_x_val[0]); arr_x_points[i] = rect.x + hor_interval_width*(arr_x_val[i] - arr_x_val[0]);
} }
if(y_ax.labels.x < 0){
rect.x -= y_ax.labels.x;
rect.w += y_ax.labels.x;
bCorrectedLayoutRect = true;
}
if(y_ax.labels.x + y_ax.labels.extX > this.extX){
rect.w -= (y_ax.labels.x + y_ax.labels.extX - this.extX);
bCorrectedLayoutRect = true;
}
if(bCorrectedLayoutRect){
y_ax.labels.x = rect.x + rect.w;
y_ax.posX = rect.x + rect.w;
hor_interval_width = checkFiniteNumber(rect.w/(arr_x_val[arr_x_val.length-1] - arr_x_val[0]));
for(i = 0; i < arr_x_val.length; ++i)
{
arr_x_points[i] = rect.x + hor_interval_width*(arr_x_val[i] - arr_x_val[0]);
}
}
} }
} }
else else
...@@ -3842,6 +3902,25 @@ CChartSpace.prototype.recalculateAxis = function() ...@@ -3842,6 +3902,25 @@ CChartSpace.prototype.recalculateAxis = function()
arr_x_points[i] = y_ax.posX + (arr_x_val[i] - crosses) * hor_interval_width; arr_x_points[i] = y_ax.posX + (arr_x_val[i] - crosses) * hor_interval_width;
} }
y_ax.labels.x = y_ax.posX - y_ax.labels.extX; y_ax.labels.x = y_ax.posX - y_ax.labels.extX;
if(y_ax.labels.x < 0){
rect.x -= y_ax.labels.x;
rect.w += y_ax.labels.x;
bCorrectedLayoutRect = true;
}
if(y_ax.labels.x + y_ax.labels.extX > this.extX){
rect.w -= (y_ax.labels.x + y_ax.labels.extX - this.extX);
bCorrectedLayoutRect = true;
}
if(bCorrectedLayoutRect){
hor_interval_width = checkFiniteNumber(rect.w/ (arr_x_val[arr_x_val.length - 1] - arr_x_val[0]));
y_ax.posX = rect.x + rect.w - (arr_x_val[arr_x_val.length - 1] - crosses) * hor_interval_width;
for (i = 0; i < arr_x_val.length; ++i) {
arr_x_points[i] = y_ax.posX + (arr_x_val[i] - crosses) * hor_interval_width;
}
y_ax.labels.x = y_ax.posX - y_ax.labels.extX;
}
} }
} }
break; break;
...@@ -3881,6 +3960,28 @@ CChartSpace.prototype.recalculateAxis = function() ...@@ -3881,6 +3960,28 @@ CChartSpace.prototype.recalculateAxis = function()
arr_x_points[i] = y_ax.posX - (arr_x_val[i]-crosses)*hor_interval_width; arr_x_points[i] = y_ax.posX - (arr_x_val[i]-crosses)*hor_interval_width;
} }
y_ax.labels.x = y_ax.posX - (arr_x_val[arr_x_val.length-1]-crosses)*hor_interval_width - y_ax.labels.extX; y_ax.labels.x = y_ax.posX - (arr_x_val[arr_x_val.length-1]-crosses)*hor_interval_width - y_ax.labels.extX;
if(y_ax.labels.x < 0){
rect.x -= y_ax.labels.x;
rect.w += y_ax.labels.x;
bCorrectedLayoutRect = true;
}
if(y_ax.labels.x + y_ax.labels.extX > this.extX){
rect.w -= (y_ax.labels.x + y_ax.labels.extX - this.extX);
bCorrectedLayoutRect = true;
}
if(bCorrectedLayoutRect){
hor_interval_width = checkFiniteNumber(rect.w/(arr_x_val[arr_x_val.length-1] - arr_x_val[0]));
y_ax.posX = rect.x + rect.w - (crosses - arr_x_val[0])*hor_interval_width;
for(i = 0; i < arr_x_val.length; ++i)
{
arr_x_points[i] = y_ax.posX - (arr_x_val[i]-crosses)*hor_interval_width;
}
y_ax.labels.x = y_ax.posX - (arr_x_val[arr_x_val.length-1]-crosses)*hor_interval_width - y_ax.labels.extX;
}
} }
break; break;
} }
...@@ -3914,6 +4015,26 @@ CChartSpace.prototype.recalculateAxis = function() ...@@ -3914,6 +4015,26 @@ CChartSpace.prototype.recalculateAxis = function()
arr_x_points[i] = y_ax.posX - (arr_x_val[i]-crosses)*hor_interval_width; arr_x_points[i] = y_ax.posX - (arr_x_val[i]-crosses)*hor_interval_width;
} }
y_ax.labels.x = rect.x + rect.w; y_ax.labels.x = rect.x + rect.w;
if(y_ax.labels.x < 0){
rect.x -= y_ax.labels.x;
rect.w += y_ax.labels.x;
bCorrectedLayoutRect = true;
}
if(y_ax.labels.x + y_ax.labels.extX > this.extX){
rect.w -= (y_ax.labels.x + y_ax.labels.extX - this.extX);
bCorrectedLayoutRect = true;
}
if(bCorrectedLayoutRect){
hor_interval_width = checkFiniteNumber(rect.w/(arr_x_val[arr_x_val.length-1] - arr_x_val[0]));
y_ax.posX = rect.x + rect.w - (crosses - arr_x_val[0])*hor_interval_width;
for(i = 0; i < arr_x_val.length; ++i)
{
arr_x_points[i] = y_ax.posX - (arr_x_val[i]-crosses)*hor_interval_width;
}
y_ax.labels.x = rect.x + rect.w;
}
} }
break; break;
} }
...@@ -3959,6 +4080,24 @@ CChartSpace.prototype.recalculateAxis = function() ...@@ -3959,6 +4080,24 @@ CChartSpace.prototype.recalculateAxis = function()
hor_interval_width = checkFiniteNumber(rect.w/ (arr_x_val[arr_x_val.length - 1] - arr_x_val[0])); hor_interval_width = checkFiniteNumber(rect.w/ (arr_x_val[arr_x_val.length - 1] - arr_x_val[0]));
y_ax.posX = rect.x + rect.w - (crosses - arr_x_val[0]) * hor_interval_width; y_ax.posX = rect.x + rect.w - (crosses - arr_x_val[0]) * hor_interval_width;
y_ax.labels.x = y_ax.posX - ((arr_x_val[arr_x_val.length - 1] - crosses) * hor_interval_width) - y_ax.labels.extX; y_ax.labels.x = y_ax.posX - ((arr_x_val[arr_x_val.length - 1] - crosses) * hor_interval_width) - y_ax.labels.extX;
if(y_ax.labels.x < 0){
rect.x -= y_ax.labels.x;
rect.w += y_ax.labels.x;
bCorrectedLayoutRect = true;
}
if(y_ax.labels.x + y_ax.labels.extX > this.extX){
rect.w -= (y_ax.labels.x + y_ax.labels.extX - this.extX);
bCorrectedLayoutRect = true;
}
if(bCorrectedLayoutRect){
hor_interval_width = checkFiniteNumber(rect.w/ (arr_x_val[arr_x_val.length - 1] - arr_x_val[0]));
y_ax.posX = rect.x + rect.w - (crosses - arr_x_val[0]) * hor_interval_width;
y_ax.labels.x = y_ax.posX - ((arr_x_val[arr_x_val.length - 1] - crosses) * hor_interval_width) - y_ax.labels.extX;
}
} }
} }
else else
...@@ -3978,6 +4117,25 @@ CChartSpace.prototype.recalculateAxis = function() ...@@ -3978,6 +4117,25 @@ CChartSpace.prototype.recalculateAxis = function()
left_align_labels = false; left_align_labels = false;
y_ax.posX = rect.x + hor_interval_width * (arr_x_val[arr_x_val.length - 1] - crosses); y_ax.posX = rect.x + hor_interval_width * (arr_x_val[arr_x_val.length - 1] - crosses);
y_ax.labels.x = y_ax.posX; y_ax.labels.x = y_ax.posX;
if(y_ax.labels.x < 0){
rect.x -= y_ax.labels.x;
rect.w += y_ax.labels.x;
bCorrectedLayoutRect = true;
}
if(y_ax.labels.x + y_ax.labels.extX > this.extX){
rect.w -= (y_ax.labels.x + y_ax.labels.extX - this.extX);
bCorrectedLayoutRect = true;
}
if(bCorrectedLayoutRect){
hor_interval_width = checkFiniteNumber(rect.w / (arr_x_val[arr_x_val.length - 1] - arr_x_val[0]));
left_align_labels = false;
y_ax.posX = rect.x + hor_interval_width * (arr_x_val[arr_x_val.length - 1] - crosses);
y_ax.labels.x = y_ax.posX;
}
} }
} }
for(i = 0; i < arr_x_val.length; ++i) for(i = 0; i < arr_x_val.length; ++i)
...@@ -4066,6 +4224,26 @@ CChartSpace.prototype.recalculateAxis = function() ...@@ -4066,6 +4224,26 @@ CChartSpace.prototype.recalculateAxis = function()
arr_y_points[i] = rect.y + rect.h - (arr_val[i] - arr_val[0])*vert_interval_height; arr_y_points[i] = rect.y + rect.h - (arr_val[i] - arr_val[0])*vert_interval_height;
} }
x_ax.posY = rect.y + rect.h - (crosses_x - arr_val[0])*vert_interval_height; x_ax.posY = rect.y + rect.h - (crosses_x - arr_val[0])*vert_interval_height;
var bCheckXLabels = false;
if(x_ax.labels.y < 0){
bCheckXLabels = true;
rect.y -= x_ax.labels.y;
rect.h -= x_ax.labels.h;
}
if(x_ax.labels.y + x_ax.labels.extY > this.extY){
bCheckXLabels = true;
rect.h -= (x_ax.labels.y + x_ax.labels.extY - this.extY)
}
if(bCheckXLabels){
vert_interval_height = checkFiniteNumber(rect.h/(arr_val[arr_val.length-1] - arr_val[0]));
x_ax.labels.y = rect.y + rect.h - (arr_val[arr_val.length - 1] - arr_val[0])*vert_interval_height - x_ax.labels.extY;
for(i = 0; i < arr_val.length; ++i)
{
arr_y_points[i] = rect.y + rect.h - (arr_val[i] - arr_val[0])*vert_interval_height;
}
x_ax.posY = rect.y + rect.h - (crosses_x - arr_val[0])*vert_interval_height;
}
} }
break; break;
} }
...@@ -4091,6 +4269,28 @@ CChartSpace.prototype.recalculateAxis = function() ...@@ -4091,6 +4269,28 @@ CChartSpace.prototype.recalculateAxis = function()
arr_y_points[i] = rect.y + rect.h - (arr_val[i] - arr_val[0])*vert_interval_height; arr_y_points[i] = rect.y + rect.h - (arr_val[i] - arr_val[0])*vert_interval_height;
} }
x_ax.posY = rect.y + rect.h - (crosses_x - arr_val[0])*vert_interval_height; x_ax.posY = rect.y + rect.h - (crosses_x - arr_val[0])*vert_interval_height;
var bCheckXLabels = false;
if(x_ax.labels.y < 0){
bCheckXLabels = true;
rect.y -= x_ax.labels.y;
rect.h -= x_ax.labels.h;
}
if(x_ax.labels.y + x_ax.labels.extY > this.extY){
bCheckXLabels = true;
rect.h -= (x_ax.labels.y + x_ax.labels.extY - this.extY)
}
if(bCheckXLabels){
x_ax.labels.y = rect.y + rect.h;
vert_interval_height = checkFiniteNumber(rect.h/(arr_val[arr_val.length-1] - arr_val[0]));
for(i = 0; i < arr_val.length; ++i)
{
arr_y_points[i] = rect.y + rect.h - (arr_val[i] - arr_val[0])*vert_interval_height;
}
x_ax.posY = rect.y + rect.h - (crosses_x - arr_val[0])*vert_interval_height;
}
} }
break; break;
} }
...@@ -4138,6 +4338,28 @@ CChartSpace.prototype.recalculateAxis = function() ...@@ -4138,6 +4338,28 @@ CChartSpace.prototype.recalculateAxis = function()
} }
x_ax.posY = rect.y + rect.h - (arr_val[arr_val.length - 1] - arr_val[0]) * vert_interval_height; x_ax.posY = rect.y + rect.h - (arr_val[arr_val.length - 1] - arr_val[0]) * vert_interval_height;
x_ax.labels.y = x_ax.posY - x_ax.labels.extY; x_ax.labels.y = x_ax.posY - x_ax.labels.extY;
var bCheckXLabels = false;
if(x_ax.labels.y < 0){
bCheckXLabels = true;
rect.y -= x_ax.labels.y;
rect.h -= x_ax.labels.h;
}
if(x_ax.labels.y + x_ax.labels.extY > this.extY){
bCheckXLabels = true;
rect.h -= (x_ax.labels.y + x_ax.labels.extY - this.extY)
}
if(bCheckXLabels){
vert_interval_height = checkFiniteNumber(rect.h / (arr_val[arr_val.length - 1] - arr_val[0]));
for (i = 0; i < arr_val.length; ++i) {
arr_y_points[i] = rect.y + rect.h - (arr_val[i] - arr_val[0]) * vert_interval_height;
}
x_ax.posY = rect.y + rect.h - (arr_val[arr_val.length - 1] - arr_val[0]) * vert_interval_height;
x_ax.labels.y = x_ax.posY - x_ax.labels.extY;
}
} }
} }
else else
...@@ -4163,6 +4385,27 @@ CChartSpace.prototype.recalculateAxis = function() ...@@ -4163,6 +4385,27 @@ CChartSpace.prototype.recalculateAxis = function()
for (i = 0; i < arr_val.length; ++i) { for (i = 0; i < arr_val.length; ++i) {
arr_y_points[i] = x_ax.posY - (arr_val[i] - crosses_x) * vert_interval_height; arr_y_points[i] = x_ax.posY - (arr_val[i] - crosses_x) * vert_interval_height;
} }
var bCheckXLabels = false;
if(x_ax.labels.y < 0){
bCheckXLabels = true;
rect.y -= x_ax.labels.y;
rect.h -= x_ax.labels.h;
}
if(x_ax.labels.y + x_ax.labels.extY > this.extY){
bCheckXLabels = true;
rect.h -= (x_ax.labels.y + x_ax.labels.extY - this.extY)
}
if(bCheckXLabels){
vert_interval_height = checkFiniteNumber(rect.h / (arr_val[arr_val.length - 1] - arr_val[0]));
x_ax.posY = rect.y + (arr_val[arr_val.length - 1] - crosses_x) * vert_interval_height;
x_ax.labels.y = x_ax.posY;
for (i = 0; i < arr_val.length; ++i) {
arr_y_points[i] = x_ax.posY - (arr_val[i] - crosses_x) * vert_interval_height;
}
}
} }
} }
break; break;
...@@ -4191,6 +4434,27 @@ CChartSpace.prototype.recalculateAxis = function() ...@@ -4191,6 +4434,27 @@ CChartSpace.prototype.recalculateAxis = function()
arr_y_points[i] = x_ax.posY + vert_interval_height * (arr_val[i] - crosses_x); arr_y_points[i] = x_ax.posY + vert_interval_height * (arr_val[i] - crosses_x);
} }
x_ax.labels.y = x_ax.posY + vert_interval_height * (arr_val[arr_val.length - 1] - crosses_x); x_ax.labels.y = x_ax.posY + vert_interval_height * (arr_val[arr_val.length - 1] - crosses_x);
var bCheckXLabels = false;
if(x_ax.labels.y < 0){
bCheckXLabels = true;
rect.y -= x_ax.labels.y;
rect.h -= x_ax.labels.h;
}
if(x_ax.labels.y + x_ax.labels.extY > this.extY){
bCheckXLabels = true;
rect.h -= (x_ax.labels.y + x_ax.labels.extY - this.extY)
}
if(bCheckXLabels){
vert_interval_height = checkFiniteNumber(rect.h / (arr_val[arr_val.length - 1] - arr_val[0]));
x_ax.posY = rect.y + (crosses_x - arr_val[0]) * vert_interval_height;
for (i = 0; i < arr_val.length; ++i) {
arr_y_points[i] = x_ax.posY + vert_interval_height * (arr_val[i] - crosses_x);
}
x_ax.labels.y = x_ax.posY + vert_interval_height * (arr_val[arr_val.length - 1] - crosses_x);
}
} }
break; break;
} }
...@@ -4214,6 +4478,26 @@ CChartSpace.prototype.recalculateAxis = function() ...@@ -4214,6 +4478,26 @@ CChartSpace.prototype.recalculateAxis = function()
arr_y_points[i] = rect.y + vert_interval_height * (arr_val[i] - arr_val[0]); arr_y_points[i] = rect.y + vert_interval_height * (arr_val[i] - arr_val[0]);
} }
x_ax.labels.y = rect.y - x_ax.labels.extY; x_ax.labels.y = rect.y - x_ax.labels.extY;
var bCheckXLabels = false;
if(x_ax.labels.y < 0){
bCheckXLabels = true;
rect.y -= x_ax.labels.y;
rect.h -= x_ax.labels.h;
}
if(x_ax.labels.y + x_ax.labels.extY > this.extY){
bCheckXLabels = true;
rect.h -= (x_ax.labels.y + x_ax.labels.extY - this.extY)
}
if(bCheckXLabels){
vert_interval_height = checkFiniteNumber(rect.h / (arr_val[arr_val.length - 1] - arr_val[0]));
x_ax.posY = rect.y + (crosses_x - arr_val[0]) * vert_interval_height;
for (i = 0; i < arr_val.length; ++i) {
arr_y_points[i] = rect.y + vert_interval_height * (arr_val[i] - arr_val[0]);
}
x_ax.labels.y = rect.y - x_ax.labels.extY;
}
} }
break; break;
} }
...@@ -4260,6 +4544,26 @@ CChartSpace.prototype.recalculateAxis = function() ...@@ -4260,6 +4544,26 @@ CChartSpace.prototype.recalculateAxis = function()
arr_y_points[i] = rect.y + vert_interval_height * (arr_val[i] - arr_val[0]); arr_y_points[i] = rect.y + vert_interval_height * (arr_val[i] - arr_val[0]);
} }
x_ax.labels.y = rect.y + rect.extY; x_ax.labels.y = rect.y + rect.extY;
var bCheckXLabels = false;
if(x_ax.labels.y < 0){
bCheckXLabels = true;
rect.y -= x_ax.labels.y;
rect.h -= x_ax.labels.h;
}
if(x_ax.labels.y + x_ax.labels.extY > this.extY){
bCheckXLabels = true;
rect.h -= (x_ax.labels.y + x_ax.labels.extY - this.extY)
}
if(bCheckXLabels){
vert_interval_height = checkFiniteNumber(rect.h / (arr_val[arr_val.length - 1] - arr_val[0]));
x_ax.posY = rect.y + (crosses_x - arr_val[0]) * vert_interval_height;
for (i = 0; i < arr_val.length; ++i) {
arr_y_points[i] = rect.y + vert_interval_height * (arr_val[i] - arr_val[0]);
}
x_ax.labels.y = rect.y + rect.extY;
}
} }
} }
else else
...@@ -4288,6 +4592,25 @@ CChartSpace.prototype.recalculateAxis = function() ...@@ -4288,6 +4592,25 @@ CChartSpace.prototype.recalculateAxis = function()
for (i = 0; i < arr_val.length; ++i) { for (i = 0; i < arr_val.length; ++i) {
arr_y_points[i] = x_ax.posY + vert_interval_height * (arr_val[i] - crosses_x); arr_y_points[i] = x_ax.posY + vert_interval_height * (arr_val[i] - crosses_x);
} }
var bCheckXLabels = false;
if(x_ax.labels.y < 0){
bCheckXLabels = true;
rect.y -= x_ax.labels.y;
rect.h -= x_ax.labels.h;
}
if(x_ax.labels.y + x_ax.labels.extY > this.extY){
bCheckXLabels = true;
rect.h -= (x_ax.labels.y + x_ax.labels.extY - this.extY)
}
if(bCheckXLabels){
vert_interval_height = checkFiniteNumber(rect.h / (arr_val[arr_val.length - 1] - arr_val[0]));
x_ax.posY = rect.y + rect.h - vert_interval_height * (arr_val[arr_val.length - 1] - crosses_x);
x_ax.labels.y = x_ax.posY - x_ax.labels.extY;
for (i = 0; i < arr_val.length; ++i) {
arr_y_points[i] = x_ax.posY + vert_interval_height * (arr_val[i] - crosses_x);
}
}
} }
} }
break; break;
......
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