diff --git a/src/Chart.Doughnut.js b/src/Chart.Doughnut.js index 4a4c9afb0..b3ab6ebfc 100644 --- a/src/Chart.Doughnut.js +++ b/src/Chart.Doughnut.js @@ -41,7 +41,7 @@ var h = (part / total) * 360, s = 1, v = 1, - c = h * s, + c = v * s, x = c * (1 - Math.abs((h / 60) % 2 - 1)), m = v - c, r, @@ -55,29 +55,29 @@ b = 0 + m; break; case 1: // 60 <= h < 120 - r = c + m; - g = x + m; + r = x + m; + g = c + m; b = 0 + m; break; case 2: // 120 <= h < 180 - r = c + m; - g = x + m; - b = 0 + m; + r = 0 + m; + g = c + m; + b = x + m; break; case 3: // 180 <= h < 240 - r = c + m; + r = 0 + m; g = x + m; - b = 0 + m; + b = c + m; break; case 4: // 240 <= h < 300 - r = c + m; - g = x + m; - b = 0 + m; + r = x + m; + g = 0 + m; + b = c + m; break; case 5: // 300 <= h < 360 r = c + m; - g = x + m; - b = 0 + m; + g = 0 + m; + b = x + m; break; } @@ -123,6 +123,13 @@ } this.calculateTotal(data); + data = data.map(function (v, i, a){ + if (!v.color) { + v.color = hue(i, a.length); + return v; + } + }); + helpers.each(data,function(datapoint, index){ this.addData(datapoint, index, true); },this);