mirror of
https://github.com/chartjs/Chart.js.git
synced 2025-12-08 20:36:08 +00:00
Treat 0 as a valid point label for radial scale (#6279)
This commit is contained in:
parent
e5c68e2c82
commit
e35b8891ce
@ -156,7 +156,7 @@ function fitWithPointLabels(scale) {
|
||||
var valueCount = getValueCount(scale);
|
||||
for (i = 0; i < valueCount; i++) {
|
||||
pointPosition = scale.getPointPosition(i, scale.drawingArea + 5);
|
||||
textSize = measureLabelSize(scale.ctx, plFont.lineHeight, scale.pointLabels[i] || '');
|
||||
textSize = measureLabelSize(scale.ctx, plFont.lineHeight, scale.pointLabels[i]);
|
||||
scale._pointLabelSizes[i] = textSize;
|
||||
|
||||
// Add quarter circle to make degree 0 mean top of circle
|
||||
@ -247,7 +247,7 @@ function drawPointLabels(scale) {
|
||||
var angle = helpers.toDegrees(angleRadians);
|
||||
ctx.textAlign = getTextAlignForAngle(angle);
|
||||
adjustPointPositionForLabelHeight(angle, scale._pointLabelSizes[i], pointLabelPosition);
|
||||
fillText(ctx, scale.pointLabels[i] || '', pointLabelPosition, plFont.lineHeight);
|
||||
fillText(ctx, scale.pointLabels[i], pointLabelPosition, plFont.lineHeight);
|
||||
}
|
||||
ctx.restore();
|
||||
}
|
||||
@ -348,7 +348,10 @@ module.exports = LinearScaleBase.extend({
|
||||
LinearScaleBase.prototype.convertTicksToLabels.call(me);
|
||||
|
||||
// Point labels
|
||||
me.pointLabels = me.chart.data.labels.map(me.options.pointLabels.callback, me);
|
||||
me.pointLabels = me.chart.data.labels.map(function() {
|
||||
var label = helpers.callback(me.options.pointLabels.callback, arguments, me);
|
||||
return label || label === 0 ? label : '';
|
||||
});
|
||||
},
|
||||
|
||||
getLabelForIndex: function(index, datasetIndex) {
|
||||
|
||||
@ -366,6 +366,20 @@ describe('Test the radial linear scale', function() {
|
||||
expect(chart.scale.pointLabels).toEqual(['0', '1', '2', '3', '4']);
|
||||
});
|
||||
|
||||
it('Should build point labels from falsy values', function() {
|
||||
var chart = window.acquireChart({
|
||||
type: 'radar',
|
||||
data: {
|
||||
datasets: [{
|
||||
data: [10, 5, 0, 25, 78, 20]
|
||||
}],
|
||||
labels: [0, '', undefined, null, NaN, false]
|
||||
}
|
||||
});
|
||||
|
||||
expect(chart.scale.pointLabels).toEqual([0, '', '', '', '', '']);
|
||||
});
|
||||
|
||||
it('should correctly set the center point', function() {
|
||||
var chart = window.acquireChart({
|
||||
type: 'radar',
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user