bench-plot: per-file Vin-bin checkbox picker for combining runs

Combining multiple CSVs pooled everything blindly; when two runs cover
the same Vin bin the user now gets a checkbox grid (row per Vin bin,
column per file, counts per cell, overlapping bins highlighted) to
decide per bin which file contributes. Opens automatically on overlap;
--pick forces it (also useful to cut bad columns from a single file),
--no-pick suppresses it for scripted use.

Also: picker/file-dialog windows force themselves to the foreground
(spawned from the GUI button, Windows opened them hidden behind the
GUI); unreadable or still-being-written (empty) CSVs are skipped with a
note instead of killing the run; fatal errors show a messagebox since
stderr is invisible when launched from the GUI.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
janik
2026-07-06 16:59:34 +07:00
co-authored by Claude Fable 5
parent ca5f0fe9c2
commit f709d634e8
2 changed files with 195 additions and 17 deletions
+10 -1
View File
@@ -199,9 +199,18 @@ uv run bench-plot data_20260703_140000.csv
uv run bench-plot run1_telem.csv run2_telem.csv --vin-bin 2 --save eff.png
# options: --current iout|iin, --source auto|hioki|instr|stm (data logs),
# --min-pout W (default 5), --vin-bin V (default 1), --save PNG
# --min-pout W (default 5), --vin-bin V (default 1), --save PNG,
# --pick / --no-pick (per-file Vin-bin checkbox picker)
```
Multiple files are pooled into one dataset. When two files cover the same
Vin bin, a checkbox picker opens automatically -- one row per Vin bin, one
column per file, cell numbers showing points per bin, overlapping bins
highlighted -- so you decide per bin which file's data to use (e.g. keep the
re-measured 72 V column from the new run, the rest from the old one).
`--pick` forces the picker even without overlap (useful to cut bad columns
from a single file); `--no-pick` skips it for scripted/batch use.
Also reachable via the GUI's "Plot Eff..." button (Logging section, opens the
same dialog preselecting the last log) and `plot_eff.bat` one level up
(double-click for the dialog, or drag && drop CSV files onto it).