Skip to content

v1.3.0

Choose a tag to compare

@github-actions github-actions released this 26 Jul 10:17

Your exported data says which points you placed and which the app filled in

PlotTracer's whole claim is that a record tells you where its numbers came from.
That held inside the project file, but not once you handed the data to anyone
else: an interpolated spline sample left a CSV byte-identical to a point you had
judged by eye off the figure.

Now every text export (CSV, TSV, LaTeX, MATLAB, Python, R) and XLSX carries a
role column — anchor for a point you assigned, interpolated for one the
app filled in between, and blank for an ordinary traced point. It appears
only for a series that actually has roles, so a plain trace exports exactly as
it did before, byte for byte.

On screen, derived rows are now visibly derived: muted italic cells, read-only,
with a legend under the table saying what the italics mean. Typing into a derived
cell used to appear to work and then be silently wiped on the next rebuild.

Category names on bar and categorical-line figures

A bar chart's independent variable is a name you read off the tick labels —
the one thing on that axis the pixels cannot tell you. There was nowhere to put
it: bar exports had a Label column nothing in the app could write, so it always
said Bar0, and a categorical line exported a bare ordinal with no name at all.

The right-hand table gains a Category column you can type into, and the names
ride out with the data. On a grouped chart you type the category set once: a
point added to the next series takes the name of the nearest already-named bar,
so it lands on the right category however you click and whatever you skip. Each
name belongs to its own point, so any cell can be retyped without shifting its
neighbours — and where the app can't tell which category you meant, it leaves the
cell blank rather than guess.

One breaking change to note

A bar chart's category column is now called Category in exported files. It was
Label — a word inherited from WebPlotDigitizer that no other part of PlotTracer
used: the on-screen table, the box-plot category field and the new categorical
export all said Category. Now everything does.

The column's position and contents are unchanged, so anything reading the file by
column number is unaffected. If you have a script that looks up the column by
name, change Label to Category.

Two silent wrong-number bugs fixed

Both produced plausible numbers with nothing on screen to say they were wrong.
If you have traced a bar chart or captured error bars with an earlier version,
these are worth knowing about.

  • Auto-extract on a bar chart recorded each bar's MIDPOINT — roughly half the
    true value whenever the baseline is the axis zero, and wrong in general
    otherwise. Colour tracing and blob detection both centre on a filled shape,
    which is right for a curve and wrong for a bar, whose value is its top edge.
    Auto-extract is now refused for the whole bar family at both doors — the
    rail button and the 4 shortcut — with the reason on hover. Nothing correct is
    lost: none of those mechanisms could produce a valid bar value. A proper
    interval-native bar model is the next release's headline work. On a bar figure
    the guidance now also tells you where to aim — "click the end of each bar,
    never its middle" — because on a bar chart the height of your click is the
    number, and the old line said "click anywhere on the image".
  • Capturing an error cap dragged its own data point along with it. The
    gesture starts by pressing the datum the cap hangs off, and that one press did
    both jobs: it recorded the cap and hauled the datum to wherever the drag
    ended — which is, by definition, the cap. It then looked like a mis-aimed click
    in the table rather than a bug. Data markers are now inert while the Error-bars
    tool is active, exactly as they already were for Measure; the cap is still
    recorded, and the point stays where you put it.

Fixes

  • The Error-bars tool explains itself. It was the only tool with no guidance
    of its own, so on a calibrated chart the tips bar fell through to "Pick a graph
    type, then calibrate the axes to begin" — next to a Calibrated ✓ chip. It now
    describes the drag, and tells you to place the data points first if the active
    series is still empty.
  • The derived-row legend is actually visible. It sat inside the table's own
    scroll container, so it scrolled out of sight on any table longer than about
    180 rows — precisely the tables where you need it.
  • The empty-table hint no longer contradicts the tips bar. One said "click on
    the image to add data points" while the other said a plain click does nothing;
    both were on screen at the same time. On a bar figure it also no longer points
    you at the Auto-extract tool that's greyed out there.
  • An interpolated point can't be moved by any route. Derived rows were already
    read-only to typing; selecting one and using the arrow keys could still shift it,
    and the move was then silently discarded on the next rebuild.
  • The Error-bars card and tips bar name how to adjust a cap, and say plainly
    that the lower cap starts out mirrored through your data point rather than
    measured — move it to where the figure actually draws it.
  • Corrected tool numbers. The first tip on a fresh figure pointed at the wrong
    rail slot for rotate/crop/deskew, and the manual listed three tools under their
    pre-v1.0.2 numbers — including sending you to the image editor for Select.
  • The Trace Challenge briefing no longer promises auto-tracing on the bar,
    box-plot and histogram rounds, where it's deliberately refused.

Downloads

Linux .AppImage / .deb, Windows .exe, macOS .dmg / .zip (Apple Silicon).
Builds are unsigned — your OS will ask you to confirm on first launch.


Full Changelog: v1.2.0...v1.3.0