return lineTo;
}
-function pathVars(points, segment, params) {
- params = params || {};
+function pathVars(points, segment, params = {}) {
const count = points.length;
- const start = Math.max(params.start || 0, segment.start);
- const end = Math.min(params.end || count - 1, segment.end);
+ const {start: paramsStart = 0, end: paramsEnd = count - 1} = params;
+ const {start: segmentStart, end: segmentEnd} = segment;
+ const start = Math.max(paramsStart, segmentStart);
+ const end = Math.min(paramsEnd, segmentEnd);
+ const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd;
return {
count,
start,
loop: segment.loop,
- ilen: end < start ? count + end - start : end - start
+ ilen: end < start && !outside ? count + end - start : end - start
};
}
--- /dev/null
+module.exports = {
+ description: 'https://github.com/chartjs/Chart.js/issues/8902',
+ config: {
+ type: 'line',
+ data: {
+ labels: [1, 2, 3, 4, 5, 6, 7, 8],
+ datasets: [{
+ data: [65, 59, NaN, 48, 56, 57, 40],
+ borderColor: 'rgb(75, 192, 192)',
+ }]
+ },
+ options: {
+ plugins: false,
+ scales: {
+ x: {
+ type: 'linear',
+ min: 1,
+ max: 3
+ }
+ }
+ }
+ },
+ options: {
+ spriteText: true,
+ canvas: {
+ height: 256,
+ width: 512
+ }
+ }
+};