Bar Charts and Histograms in Version 3.8 (Beta)

Ankit Rohatgi - 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!

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.

Bar Charts

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!

Interpolate Between Dashed Lines and Data Points

Ankit Rohatgi - June 10, 2014

WebPlotDigitizer can now perform cubic spline interpolations between detected data points (3.3 beta). With this new capability, we can now extract data at definite X-values from XY plots with dashed or dotted lines. This can also be used to interpolate between data points or even smoothen noise in the data.

A new algorithm called "X Step w/ Interp." has been added into the Version 3.3 beta alongside the existing X Step and Averaging Window algorithms for data extraction. The "Width" parameter controls the degree of smoothing for the algorithm. The images below show the effect of changing the Width parameter from 0.1 to 2

This new algorithm works a lot better than the current X-Step algorithm and so this might completely replace the existing algorithm in the app. Also, with this addition, I am considering wrapping up version 3.3 features and focus on updating the user manual and tutorial videos.

Page: 1   2   [ 3 ]   4