Linear: Respect bounds option in tick generation (#9181)

* Linear: Respect bounds option in tick generation
* Remove leftover _filterBetween
This commit is contained in:
Jukka Kurkela 2021-05-30 00:32:03 +03:00 committed by GitHub
parent 8c63351067
commit db74d2f44c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 38 additions and 3 deletions

View File

@ -29,7 +29,7 @@ function generateTicks(generationOptions, dataRange) {
// for details.
const MIN_SPACING = 1e-14;
const {step, min, max, precision, count, maxTicks, maxDigits, includeBounds} = generationOptions;
const {bounds, step, min, max, precision, count, maxTicks, maxDigits, includeBounds} = generationOptions;
const unit = step || 1;
const maxSpaces = maxTicks - 1;
const {min: rmin, max: rmax} = dataRange;
@ -58,8 +58,13 @@ function generateTicks(generationOptions, dataRange) {
spacing = Math.ceil(spacing * factor) / factor;
}
niceMin = Math.floor(rmin / spacing) * spacing;
niceMax = Math.ceil(rmax / spacing) * spacing;
if (bounds === 'ticks') {
niceMin = Math.floor(rmin / spacing) * spacing;
niceMax = Math.ceil(rmax / spacing) * spacing;
} else {
niceMin = rmin;
niceMax = rmax;
}
if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) {
// Case 1: If min, max and stepSize are set and they make an evenly spaced scale use it.
@ -241,6 +246,7 @@ export default class LinearScaleBase extends Scale {
const numericGeneratorOptions = {
maxTicks,
bounds: opts.bounds,
min: opts.min,
max: opts.max,
precision: tickOpts.precision,

View File

@ -0,0 +1,29 @@
module.exports = {
config: {
type: 'line',
data: {
labels: ['a', 'b'],
datasets: [{
borderColor: 'red',
data: [50, 75],
}, {
borderColor: 'blue',
data: [25, 50],
}]
},
options: {
scales: {
x: {
display: false
},
y: {
stacked: true,
bounds: 'data'
}
}
}
},
options: {
spriteText: true
}
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB