Web based tool to extract data from plots, images, and maps
October 18, 2015
Version 3.9 has been released with a few new additions and improvements. For a summary of new features, please refer to the latest release notes.
The most significant one is the addition of a grid removal tool which should help eliminate the interfering grid lines that prevent the autodetection algorithms to work very well for certain plots. This initial implementation of the grid removal tool works with any grid line or background colors. You can remove horizontal and/or vertical lines as needed. The current implementation does not work with skewed or rotated plots, but that can be added in the future if it is useful.
To switch to the grid removal mode, select the Remove Grid menu option under the Axes menu as shown below:
You should now see a set of controls appear on the right side as shown in the image below. You can now proceed to draw a box over the region where you are interested in removing the grid. This is similar to drawing a mask in the automatic data extraction mode.
You can now proceed to specifying the colors. By default the Background Mode option is selected with the color selection as white. This means that the algorithm will assume the background is white in color and the grid lines have a color that lies outside the numeric color distance value (the number next to the Pick button). As most plots have white background and dark grid lines, the default settings should work well. If you want, you can adjust these settings or switch to the foreground mode as needed. The Test button should help you decide if your settings are working well.
Next, select the directions you want the grid removal tool to work in by clicking on the appropriate checkboxes. The X% and Y% values are two adjustable parameters that you can change to tweak the results. Usually, you will want to increase these numbers for solid grid lines and decrease for dotted or dashed lines. The default values should work well in most cases.
For more details, refer to the updated user manual.
In addition to the grid removal tool, there is support for log-scale radial direction in polar plots. Also the cubic spline interpolation for the "X step with interpolation" algorithm has been reimplemented for better performance and stability. In the process, the dependence on numeric.js has been completely removed.
May 7, 2015
Version 3.8 with the initial support for bar charts has just been released. Downloadable version for Windows will also be updated in a couple of days. To read a summary of changes, check out the release notes.
The obvious step after extracting data from images is to analyze or re-plot this data. R is an excellent tool for this purpose and I think it would be extremely useful if the users can run WebPlotDigitizer in a manner that allows real-time interaction with R. Also, since internet connectivity is not always practical, it makes a lot of sense to have an offline R package that can host WebPlotDigitizer locally.
April 26, 2015
The next release of WebPlotDigitizer is around the corner and there is an exciting new addition this time: We will finally have dedicated tools to extract data from bar charts and histograms! I am still doing some final checks before the release, but you can try it out with the beta version that is available here:
Bar Charts vs. Histograms
Most bar charts have a continuous axis along the data, but only a discrete set of labels that correspond to each bar on the other axis. Keeping this in mind, a completely new plot type and an extraction algorithm has been added for bar charts. For the charts where both the axes are continuous (e.g. histograms), you can still use the 2D (X-Y) plot type, but a new algorithm is now available to help with bar charts. I will first describe the extraction process for simple bar charts followed by the process for histograms.
Just select the "2D Bar Plot" option after loading the image. You will be prompted to select two points on the axis that is along the bars. For horizontal bar charts, pick the two points on the X-axis.
After picking two points on the axis, specify the values at those two points. Select the "Log Scale" option if the data is in log-scale.
You can manually click to specify data, or if you want to do automatic extraction, then do the color selection part just as you would for any other plot type in WebPlotDigitizer. (If you are unfamiliar with WebPlotDigitizer, then please refer to the tutorials section)
The auto-extraction algorithm options are now context sensitive and so you will see only one extraction algorithm called "Bar Extraction". Adjust the two parameters (delta_X or delta_Y and delta_Val) until you see that only one point is detected per bar. With some images, the algorithm will not be able to make an accurate detection even upon adjustments and you might have to make small modifications in the manual mode later.
Once you have the data points, you might want to change the labels assigned to each data point (Bar0, Bar1, etc.). Just switch to manual mode and select the "Edit Labels" tool and click on the data point you wish to change the label for. This may get a little repetitive for a large number of data points, so you might want to do this later in your data analysis tool.
Finally, just click "View Data" to view and export data points to a CSV file or Plotly. You can also export data to a JSON file from the File menu.
While most bar charts can be digitized using the above method, it might be too tedious to work with bar charts where both axis are continuous and the "labels" for each bar is just a value on an axis. For these charts, you can just select 2D (X-Y) plot type at the start and calibrate the axis as you would for any other 2D X-Y plot in WebPlotDigitizer.
The manual work should work just like it does for any other XY plot, but in the automatic mode, you will now have a new algorithm called "Histograms". This works almost exactly like the algorithm for bar charts above and you can simply adjust the two parameters until you get the desired results like you would in the above case. There are no labels for each data point to edit in this case.
Finally, just click "View Data" to view or export the extracted data.
This is just a first implementation for bar charts and you can expect these features and algorithms to be refined over time. Suggestions for improvements are quite welcome!