mirror of
https://github.com/chartjs/Chart.js.git
synced 2025-12-08 20:36:08 +00:00
Fixed calculation of scale min and max when dataset contains no values (#4064)
* Fixed different calculation of scale min and max when dataset contains no values * Removed trailing spaces * Added test for correct min/max calculation * Removed trailing spaces
This commit is contained in:
parent
ecac839f68
commit
254bd4bf86
@ -30,13 +30,21 @@ module.exports = function(Chart) {
|
||||
if (tickOpts.min !== undefined) {
|
||||
me.min = tickOpts.min;
|
||||
} else if (tickOpts.suggestedMin !== undefined) {
|
||||
me.min = Math.min(me.min, tickOpts.suggestedMin);
|
||||
if (me.min === null) {
|
||||
me.min = tickOpts.suggestedMin;
|
||||
} else {
|
||||
me.min = Math.min(me.min, tickOpts.suggestedMin);
|
||||
}
|
||||
}
|
||||
|
||||
if (tickOpts.max !== undefined) {
|
||||
me.max = tickOpts.max;
|
||||
} else if (tickOpts.suggestedMax !== undefined) {
|
||||
me.max = Math.max(me.max, tickOpts.suggestedMax);
|
||||
if (me.max === null) {
|
||||
me.max = tickOpts.suggestedMax;
|
||||
} else {
|
||||
me.max = Math.max(me.max, tickOpts.suggestedMax);
|
||||
}
|
||||
}
|
||||
|
||||
if (me.min === me.max) {
|
||||
|
||||
@ -117,6 +117,35 @@ describe('Linear Scale', function() {
|
||||
expect(chart.scales.yScale0.max).toBe(150);
|
||||
});
|
||||
|
||||
it('Should correctly determine the max & min when no values provided and suggested minimum and maximum are set', function() {
|
||||
var chart = window.acquireChart({
|
||||
type: 'bar',
|
||||
data: {
|
||||
datasets: [{
|
||||
yAxisID: 'yScale0',
|
||||
data: []
|
||||
}],
|
||||
labels: ['a', 'b', 'c', 'd', 'e', 'f']
|
||||
},
|
||||
options: {
|
||||
scales: {
|
||||
yAxes: [{
|
||||
id: 'yScale0',
|
||||
type: 'linear',
|
||||
ticks: {
|
||||
suggestedMin: -10,
|
||||
suggestedMax: 15
|
||||
}
|
||||
}]
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
expect(chart.scales.yScale0).not.toEqual(undefined); // must construct
|
||||
expect(chart.scales.yScale0.min).toBe(-10);
|
||||
expect(chart.scales.yScale0.max).toBe(15);
|
||||
});
|
||||
|
||||
it('Should correctly determine the max & min data values ignoring hidden datasets', function() {
|
||||
var chart = window.acquireChart({
|
||||
type: 'bar',
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user