sparkline: remove maxSamples, remove bar gaps, always fill width from data

This commit is contained in:
Damocles 2026-04-25 09:57:43 +02:00
parent a0a5b907b9
commit 946c3a61d7
5 changed files with 3 additions and 12 deletions

View file

@ -13,9 +13,6 @@ Canvas {
readonly property real _max: maxValue !== null && maxValue !== undefined ? maxValue : (history.length ? Math.max(...history) : 100)
readonly property real _min: minValue !== null && minValue !== undefined ? minValue : (history.length ? Math.min(...history) : 0)
// Max x-axis slots - bars get narrower as data fills up, then oldest drops off
property int maxSamples: 0
// Logarithmic x-axis: compresses old data on the left, expands recent data on the right.
// logCurve controls strength (0 = linear, 3 = strong compression). Only visual - does not affect data.
property bool logScale: false
@ -69,9 +66,8 @@ Canvas {
const x1 = width * (Math.exp(k * (i + 1) / n) - 1) / expK;
return [x0, x1 - x0];
}
const step = width / (maxSamples > n ? maxSamples : n);
const off = maxSamples > n ? (maxSamples - n) * step : 0;
return [off + i * step, step];
const step = width / n;
return [i * step, step];
}
// Background tint
@ -149,7 +145,7 @@ Canvas {
const dy = yOf(d[i]);
const barTop = Math.min(dy, zy);
const barH = Math.max(1, Math.abs(dy - zy));
ctx.fillRect(bx, barTop, Math.max(1, bw - 0.5), barH);
ctx.fillRect(bx, barTop, Math.ceil(bw), barH);
}
}
}