From d05d29aa66fb394361f4becfbecd01912904ee3a Mon Sep 17 00:00:00 2001 From: Evert Timberg Date: Sat, 6 Jun 2015 11:06:40 -0400 Subject: [PATCH] Make the angle calculations more robust. Also ensure that angles in polar area charts are calculated similarly to angles in doughnut / pie charts --- src/Chart.Core.js | 4 ++-- src/Chart.PolarArea.js | 9 +++------ 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/Chart.Core.js b/src/Chart.Core.js index 9afe5f5bb..861188c0c 100755 --- a/src/Chart.Core.js +++ b/src/Chart.Core.js @@ -1442,8 +1442,8 @@ }); // Put into the range of (-PI/2, 3PI/2] - var startAngle = vm.startAngle < (-0.5 * Math.PI) ? vm.startAngle + (2.0 * Math.PI) : vm.startAngle; - var endAngle = vm.endAngle < (-0.5 * Math.PI) ? vm.endAngle + (2.0 * Math.PI) : vm.endAngle + var startAngle = vm.startAngle < (-0.5 * Math.PI) ? vm.startAngle + (2.0 * Math.PI) : vm.startAngle > (1.5 * Math.PI) ? vm.startAngle - (2.0 * Math.PI): vm.startAngle; + var endAngle = vm.endAngle < (-0.5 * Math.PI) ? vm.endAngle + (2.0 * Math.PI) : vm.endAngle > (1.5 * Math.PI) ? vm.endAngle - (2.0 * Math.PI) : vm.endAngle //Check if within the range of the open/close angle var betweenAngles = (pointRelativePosition.angle >= startAngle && pointRelativePosition.angle <= endAngle), diff --git a/src/Chart.PolarArea.js b/src/Chart.PolarArea.js index f0ceff750..b7e52682f 100644 --- a/src/Chart.PolarArea.js +++ b/src/Chart.PolarArea.js @@ -148,9 +148,6 @@ var value = this.data.datasets[0].data[index]; - var startAngle = Math.PI * 1.5 + (Math.PI * circumference) * index; - var endAngle = startAngle + (circumference * Math.PI); - helpers.extend(slice, { _index: index, _model: { @@ -158,8 +155,8 @@ y: this.chart.height / 2, innerRadius: 0, outerRadius: 0, - startAngle: Math.PI * 1.5, - endAngle: Math.PI * 1.5, + startAngle: Math.PI * -0.5, + endAngle: Math.PI * -0.5, backgroundColor: slice.custom && slice.custom.backgroundColor ? slice.custom.backgroundColor : helpers.getValueAtIndexOrDefault(this.data.datasets[0].backgroundColor, index, this.options.elements.slice.backgroundColor), hoverBackgroundColor: slice.custom && slice.custom.hoverBackgroundColor ? slice.custom.hoverBackgroundColor : helpers.getValueAtIndexOrDefault(this.data.datasets[0].hoverBackgroundColor, index, this.options.elements.slice.hoverBackgroundColor), @@ -189,7 +186,7 @@ var value = this.data.datasets[0].data[index]; - var startAngle = Math.PI * 1.5 + (Math.PI * circumference) * index; + var startAngle = (-0.5 * Math.PI) + (Math.PI * circumference) * index; var endAngle = startAngle + (circumference * Math.PI); helpers.extend(slice, { -- 2.47.3