Every number on this page comes from running PlotTracer's own shipped code over public corpora that someone else built and someone else transcribed, scored with the competition's own metric. The harness and the exact image lists are public, so anyone can run it again and disagree with us.
PlotTracer's automatic extraction, scored against two public corpora from the CHART-Infographics competition series using the competition's own metric. Box plots appear in both corpora and are excluded: PlotTracer captures them by hand but does not auto-extract them.
| Chart type | [1] Real figures | [2] Synthetic figures |
|---|---|---|
| Bar | 76.4%n = 6,494 | 36.7%n = 6,739 |
| Line | 69.3%n = 29,688 | 92.0%n = 2,236 |
| Scatter | 91.3%n = 5,409 | 32.1%n = 11,996 |
Share of elements recovered within the competition's tolerance, scored in image space by automatic extraction. PlotTracer 2.4.0 at its default settings (tolerance 60, minimum blob diameter 3), measured 2026-09-01.
PlotTracer is human-in-the-loop, so the honest question is not only what it recovers alone but what one declaration buys. This is the same bar figures with the two things a person states in the calibration walk, and nothing else changed.
| Corpus | Automatic | Assisted | Difference |
|---|---|---|---|
| [1] Real figures | 76.1%automatic | 77.4%assisted | +1.3points, n = 5,778 bars |
| [2] Synthetic figures | 36.7%automatic | 62.0%assisted | +25.3points, n = 6,739 bars |
Bar recall, with and without the two things a person declares in the calibration walk: the marked category axis, and the baseline the bars stand on. Nothing else differs. This is a ceiling rather than a user's day, because those declarations come from the corpus placed exactly. The second corpus is where hatched fills are common.
Recovering a figure's names is a separate question from recovering its numbers, and it is measured against the same corpus's own transcription.
| Read | Exactly right | Figures |
|---|---|---|
| Tick labels [1] | 79.8%10,169 of 12,751 | 887real published figures |
Matched character for character against the corpus's own transcription of each label, with no partial credit. Those are the labels printed level, 95.4% of every tick label in that corpus. Recovering a chart's NAMES is a different question from recovering its VALUES, so it is reported on its own: a tool can be good at one and poor at the other, and a single blended percentage would hide both.
Everything above is scored in image space, because that is what the competition metric measures. This one is scored in data space: the numbers a user would actually read off the panel and paste into a spreadsheet.
| Captured by hand | Within 1% | Figures |
|---|---|---|
| Bars [1] | 80.9%4,674 of 5,778 bars | 79.4%273 of 344 with every bar within |
Driving the application's own capture session, with the calibration recovered from each figure's own tick labels and two corners clicked per bar. Scored in DATA space, in the figure's own units, at 1% of the value range - the only one of these paths measured in the units a user actually reads. 40 figures are excluded, most for carrying no two numeric tick labels to calibrate from.
Method. These corpora score fully automatic recognition, while PlotTracer is human-in-the-loop, so the two are adjacent rather than equivalent. That is why each path is reported on its own above and never blended: the automatic table is the harness supplying the two inputs a person supplies, the plot box and one colour pick per visible colour, and nothing else, with everything after that the application's own shipped code at its default settings. Scoring is in image space at the competition's tolerance of 5% of the smaller image dimension, except for manual capture, which is in data space at 1% of the value range. Every digitiser draws the line between what the human supplies and what the program does somewhere, and a number without that line drawn is not comparable to anything, so ours is written out in full rather than summarised. The harness, the exact image lists and the scoring code are at github.com/katalystnord/plottracer-benchmarks, and every number on this page is generated from its results file rather than typed here by hand.