Documentation

Curve tracing#

Trace curve is a colour-guided curve follower. It starts from a seed you choose on the source image, follows compatible pixels through the calibrated plot, then presents ordinary points for acceptance. It is not semantic or AI recognition: GraphX cannot know which line you mean unless the seed and surrounding appearance distinguish it from nearby content.

Curve tracing requires a valid calibration, an active dataset, and Axis lock turned off. It is most useful for a continuous plotted line that is visibly distinct from its grid, background, and neighbouring curves.

When curve tracing works well#

Tracing is a good candidate for a clear coloured line, a curve with reasonable contrast against the background, or a long series where manually placing every point would be repetitive. It can also work for dark strokes when their local contrast is sufficient.

Manual digitising may be better for a curve that is visually merged with black axes or gridlines, crosses a similarly coloured series, is heavily compressed or noisy, contains long discontinuities, or folds back vertically into multiple Y values for one X value. These cases are not forbidden, but their preview needs particularly careful review.

Choose the destination dataset#

Before tracing, select the dataset that should receive the points. The floating trace palette identifies it with the dataset name and colour. The preview line and its outlined output markers use the same destination colour, so a multi-series graph remains understandable while you inspect the result.

Changing the active dataset while a preview is pending retargets the trace: the preview colour and destination label update, and Add N points adds the accepted points to the newly active dataset. The detected path is still a preview until accepted, so no points move between datasets merely because the destination changes.

Choose the seed#

Select Trace curve, then click a representative point on the intended line. Choose a point away from intersections, legend labels, data markers, axes, and noisy regions when possible. A seed near the centre of a stroke is usually easier to interpret than a click on an anti-aliased edge.

GraphX prepares original image pixels on the first trace for that source image, then displays the preview. If it cannot distinguish the seed from its local background or follow a viable continuation, choose a clearer seed or adjust Tolerance.

Understanding tolerance#

Tolerance describes how much colour variation GraphX may accept while following the curve. Move towards Strict to require a closer match to the sampled curve appearance. Move towards Forgiving to accept a wider range of related colours.

Start with the default, inspect the full preview, then adjust in the direction suggested by the result:

  • Move towards Forgiving when anti-aliasing, JPEG artefacts, faded scans, or a thick stroke causes the preview to break too soon.
  • Move towards Strict when the preview begins following nearby text, grid features, background shading, or another similarly coloured curve.

More forgiving matching is not inherently more accurate; it simply accepts more candidate pixels. The palette deliberately uses Strict/Forgiving rather than exposing an implementation number because the useful decision is visual.

Preview#

The continuous preview represents the detected path. The outlined markers represent the actual output positions that would be added to the dataset. Nothing in the dataset changes while this preview is displayed, so inspect the entire curve rather than only the seed region.

The palette includes a reminder that tracing is an estimate. If the preview takes a wrong branch, stop and choose a different seed or use manual Adding and editing points instead.

Number of points#

Choose 2–200 output Points; the default is 20. This is the final count added to the dataset, not the number of internal samples GraphX found while following the line. The outlined preview markers update to show the exact accepted positions.

Choose fewer points for a compact table, a smooth simple relationship, or a report where dense markers would obscure the graph. Choose more points when the curve changes shape rapidly and downstream analysis needs a denser sampled series. More output points do not make the underlying image detection more accurate; they resample the same detected path.

Accept#

Select Add N points to add the marked output points to the active dataset. The whole accepted trace is one Undo action, even if it creates many points. The new points are ordinary editable dataset points, and GraphX returns to Add/edit points so you can inspect and correct them.

Cancel#

Select Cancel or the palette close control to discard the preview. Cancellation does not add, delete, or modify dataset points. Starting a new seed replaces the previous preview rather than accumulating pending traces.

Correcting after trace#

Use Adding and editing points to move individual accepted points, enter coordinates directly, select several markers, or delete unwanted output. A trace is a starting point for data extraction, not a locked result.

Technical details#

Seed colour sampling#

GraphX samples a small neighbourhood around the seed and compares nearby candidate pixels against progressively wider local background rings. This helps it select a representative curve colour rather than accidentally treating a thick stroke edge or plain background as the target.

Path following and candidate acceptance#

From the sampled seed, GraphX follows compatible pixels in both directions across the calibrated plot. Candidate pixels are evaluated by colour similarity and continuity with the recent path, allowing a trace to favour a coherent centreline rather than unrelated matching pixels elsewhere in the image. Tolerance sets the practical colour-similarity allowance.

Raw path and calibration#

The internal raw path may contain many samples. It is independent of the requested output count and is simplified only for a readable continuous preview. Each source-image position is interpreted through the current Fast or Perspective calibration rather than through viewport pan, zoom, or display inversion.

Resampling#

When you choose the final point count, GraphX orders the detected path by calibrated X and resamples it at uniform calibrated-X parameter positions. For a linear X axis, this produces evenly spaced graph-X values. For a logarithmic X axis, it produces even spacing in transformed log-X calibration space: for example, values progress multiplicatively across a log axis rather than by equal raw-X differences.

Changing Points resamples the retained raw trace; it does not rerun pixel analysis or alter the detected curve. Changing Tolerance does rerun the seeded matching so the preview can change.

Limitations#

Crossings, similar colours, long gaps, noisy backgrounds, dense markers, and curves that are vertical or multi-valued in X can make a left-to-right path ambiguous. GraphX reports a preview rather than committing automatically so you can catch these cases. Review the continuous line, the output markers, and the calibrated values before accepting.

For the technical seed, path, and resampling method, see Curve-tracing method.