From 778a413b12117fefdd1f333db3b628c9e2ff73fd Mon Sep 17 00:00:00 2001 From: stockiNail Date: Wed, 2 Aug 2023 16:01:22 +0200 Subject: [PATCH] Revert fix for monotone cubic interpolation --- src/controllers/controller.line.js | 2 +- .../scaleMInMaxLimits.js | 35 ------------------ .../scaleMInMaxLimits.png | Bin 9263 -> 0 bytes .../cubicInterpolationMode/scaleMaxLimit.js | 35 ------------------ .../cubicInterpolationMode/scaleMaxLimit.png | Bin 8887 -> 0 bytes 5 files changed, 1 insertion(+), 71 deletions(-) delete mode 100644 test/fixtures/controller.line/cubicInterpolationMode/scaleMInMaxLimits.js delete mode 100644 test/fixtures/controller.line/cubicInterpolationMode/scaleMInMaxLimits.png delete mode 100644 test/fixtures/controller.line/cubicInterpolationMode/scaleMaxLimit.js delete mode 100644 test/fixtures/controller.line/cubicInterpolationMode/scaleMaxLimit.png diff --git a/src/controllers/controller.line.js b/src/controllers/controller.line.js index 8c5977e1957..fddd5ce9889 100644 --- a/src/controllers/controller.line.js +++ b/src/controllers/controller.line.js @@ -57,7 +57,7 @@ export default class LineController extends DatasetController { line._chart = this.chart; line._datasetIndex = this.index; line._decimated = !!_dataset._decimated; - line.points = points.slice(Math.max(this._drawStart - 1, 0), this._drawStart + this._drawCount); + line.points = points; const options = this.resolveDatasetElementOptions(mode); if (!this.options.showLine) { diff --git a/test/fixtures/controller.line/cubicInterpolationMode/scaleMInMaxLimits.js b/test/fixtures/controller.line/cubicInterpolationMode/scaleMInMaxLimits.js deleted file mode 100644 index 605ac186461..00000000000 --- a/test/fixtures/controller.line/cubicInterpolationMode/scaleMInMaxLimits.js +++ /dev/null @@ -1,35 +0,0 @@ -module.exports = { - config: { - type: 'line', - data: { - datasets: [ - { - data: [ - {x: -10, y: 150}, - {x: 0, y: 81}, - {x: 10, y: 49}, - {x: 20, y: 32}, - {x: 30, y: 21}, - {x: 35, y: 1}, - {x: 40, y: 16}, - {x: 45, y: 13}, - ], - borderColor: '#ff0000', - cubicInterpolationMode: 'monotone' - } - ] - }, - options: { - scales: { - x: {display: false, type: 'linear', min: 5, max: 37}, - y: {display: false} - } - } - }, - options: { - canvas: { - height: 256, - width: 512 - } - } -}; diff --git a/test/fixtures/controller.line/cubicInterpolationMode/scaleMInMaxLimits.png b/test/fixtures/controller.line/cubicInterpolationMode/scaleMInMaxLimits.png deleted file mode 100644 index 056d4510167ace1c5f38402173f33f7efc436009..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9263 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