5

I'm looking for a program that can extract the underlying numbers from a figure.

For example, from the graph

enter image description here

it could extract the underlying data:

1   10
2   20
3   40
4   60
5   100
6   150
7   200
8   260
9   350
10  450

If possible, free, open source, works on Windows 7 and supports other type of graphs, such as:

enter image description here

enter image description here

enter image description here

enter image description here

4

I've been using Datathief III for a few years. It is a shareware java app that can extract data from an image. It works best on line graphs, but you can use it on any type of data with two axes (that excludes pie charts). All you need is define three reference points on the axes (0,0), (12,0), and (0,500) in your first image, then you are ready to go.

It has two modes, trace and points. Trace automatically captures data by following the color of the selected line, whereas points allows you to place points manually.

Using trace mode requires defining the start and end points of the data, as well as the line color. Here is an example:

trace mode

Using points mode is better when you have a specific set of points:

points mode

The output here is:

1.0213, 9.9231
2.0426, 19.8462
3.0331, 39.5697
3.9931, 57.889
5.0438, 105.6307
5.9877, 151.9594
7.0384, 199.701
8.0277, 258.64
9.0159, 352.5929
10.0193, 450.7492

Better accuracy can be achieved with further fine tuning.


Summary

Datathief

Pros:

  • Fast and accurate
  • Traces data automatically, and allows for manual adjustments

Cons:

  • Does not support pie graphs
  • Shareware - not open source
| improve this answer | |
0

Another very good option is the Engauge Digitizer.

The Engauge Digitizer tool accepts image files (like PNG, JPEG and TIFF) containing graphs, and recovers the data points from those graphs. The resulting data points are usually used as input to other software applications. Conceptually, Engauge Digitizer is the opposite of a graphing tool that converts data points to graphs. The process is shown below - an image file is imported, digitized within Engauge, and exported as a table of numeric data to a text file. Work can be saved into an Engauge DIG file.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.