diff --git a/src/scales/scale.radialLinear.js b/src/scales/scale.radialLinear.js index 47b1089d93d..aa29a720e36 100644 --- a/src/scales/scale.radialLinear.js +++ b/src/scales/scale.radialLinear.js @@ -59,11 +59,6 @@ var defaultConfig = { } }; -function getValueCount(scale) { - var opts = scale.options; - return opts.angleLines.display || opts.pointLabels.display ? scale.chart.data.labels.length : 0; -} - function getTickBackdropHeight(opts) { var tickOpts = opts.ticks; @@ -153,7 +148,7 @@ function fitWithPointLabels(scale) { scale.ctx.font = plFont.string; scale._pointLabelSizes = []; - var valueCount = getValueCount(scale); + var valueCount = scale.chart.data.labels.length; for (i = 0; i < valueCount; i++) { pointPosition = scale.getPointPosition(i, scale.drawingArea + 5); textSize = measureLabelSize(scale.ctx, plFont.lineHeight, scale.pointLabels[i] || ''); @@ -234,7 +229,7 @@ function drawPointLabels(scale) { ctx.font = plFont.string; ctx.textBaseline = 'middle'; - for (var i = getValueCount(scale) - 1; i >= 0; i--) { + for (var i = scale.chart.data.labels.length - 1; i >= 0; i--) { // Extra pixels out for some label spacing var extra = (i === 0 ? tickBackdropHeight / 2 : 0); var pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + 5); @@ -255,7 +250,7 @@ function drawPointLabels(scale) { function drawRadiusLine(scale, gridLineOpts, radius, index) { var ctx = scale.ctx; var circular = gridLineOpts.circular; - var valueCount = getValueCount(scale); + var valueCount = scale.chart.data.labels.length; var lineColor = valueAtIndexOrDefault(gridLineOpts.color, index - 1); var lineWidth = valueAtIndexOrDefault(gridLineOpts.lineWidth, index - 1); var pointPosition; @@ -400,8 +395,9 @@ module.exports = LinearScaleBase.extend({ }, getIndexAngle: function(index) { - var angleMultiplier = 360 / getValueCount(this); - var options = this.chart.options || {}; + var chart = this.chart; + var angleMultiplier = 360 / chart.data.labels.length; + var options = chart.options || {}; var startAngle = options.startAngle || 0; // Start from the top instead of right, so remove a quarter of the circle @@ -485,7 +481,7 @@ module.exports = LinearScaleBase.extend({ ctx.lineDashOffset = resolve([angleLineOpts.borderDashOffset, gridLineOpts.borderDashOffset, 0.0]); } - for (i = getValueCount(me) - 1; i >= 0; i--) { + for (i = me.chart.data.labels.length - 1; i >= 0; i--) { offset = me.getDistanceFromCenterForValue(opts.ticks.reverse ? me.min : me.max); position = me.getPointPosition(i, offset); ctx.beginPath(); diff --git a/test/fixtures/scale.radialLinear/anglelines-disable.json b/test/fixtures/scale.radialLinear/anglelines-disable.json new file mode 100644 index 00000000000..40c3dc6023d --- /dev/null +++ b/test/fixtures/scale.radialLinear/anglelines-disable.json @@ -0,0 +1,28 @@ +{ + "config": { + "type": "radar", + "data": { + "labels": ["A", "B", "C", "D", "E"] + }, + "options": { + "responsive": false, + "legend": false, + "title": false, + "scale": { + "gridLines": { + "color": "rgb(0, 0, 0)", + "lineWidth": 1 + }, + "angleLines": { + "display": false + }, + "pointLabels": { + "display": false + }, + "ticks": { + "display": false + } + } + } + } +} diff --git a/test/fixtures/scale.radialLinear/anglelines-disable.png b/test/fixtures/scale.radialLinear/anglelines-disable.png new file mode 100644 index 00000000000..dcba77a8df7 Binary files /dev/null and b/test/fixtures/scale.radialLinear/anglelines-disable.png differ diff --git a/test/fixtures/scale.radialLinear/gridlines-disable.json b/test/fixtures/scale.radialLinear/gridlines-disable.json new file mode 100644 index 00000000000..5f38d11767c --- /dev/null +++ b/test/fixtures/scale.radialLinear/gridlines-disable.json @@ -0,0 +1,28 @@ +{ + "config": { + "type": "radar", + "data": { + "labels": ["A", "B", "C", "D", "E"] + }, + "options": { + "responsive": false, + "legend": false, + "title": false, + "scale": { + "gridLines": { + "display": false + }, + "angleLines": { + "color": "rgb(0, 0, 0)", + "lineWidth": 1 + }, + "pointLabels": { + "display": false + }, + "ticks": { + "display": false + } + } + } + } +} diff --git a/test/fixtures/scale.radialLinear/gridlines-disable.png b/test/fixtures/scale.radialLinear/gridlines-disable.png new file mode 100644 index 00000000000..d756eac2796 Binary files /dev/null and b/test/fixtures/scale.radialLinear/gridlines-disable.png differ