automeris-io / webplotdigitizer Goto Github PK
View Code? Open in Web Editor NEWComputer vision assisted tool to extract numerical data from plot images.
Home Page: https://automeris.io
License: GNU Affero General Public License v3.0
Computer vision assisted tool to extract numerical data from plot images.
Home Page: https://automeris.io
License: GNU Affero General Public License v3.0
Detecting black curves in a plot with transparent background is problematic. Fix by filling in the transparent regions automatically.
I love this product - it would be great to have a way to have the output interpolated to round numbers or some way to get the plot to have "round" numbers. Would it be possible to have the points be adjusted to a known set of x values.
For example,if my x axis goes from 0 to 20 and there are 100 points, can you just interpolate from point (0.878, 4.5) and (1.03, 4.3) to provide the y value at x=1.000
I think this can be done in excel as well but it would be perfect if it came out of your tool this way....
Layout issues in Firefox, Win 7 and under some resolutions can cause this problem.
Detect grid lines and ignore interfering lines during automatic extraction.
Usually the auto function WebPlotDigitizer seems to list the cordinates from left to right - not in order user wants to (let me know if I am correct). It works fine with manual mode but is tidious to pick alot of points. I am trying to recreate the candle line based on the discussion in the SO.
As point in x axis (pixels) are ordered. If I connect the lines it doesnot make any sense - as it doesnot connect line in order the candle should be drawn.
When you delete a particular data point, the point exactly under the crosshair isn't the one that is picked first. It seems things are off by a few pixels.
I see some python HTTP servers have been provided. How does one use them?
I love the way that you've added bar charts (as described in issue #20).
How difficult it would be to add two other features:
The problems that I envision are:
For grouped bars especially, I would typically want the categorical value to come with the continuous one.
For error bars, it seems like we could just have 1 to 3 values per bar instead of just one value per bar. (A work-around for this is just to run it multiple times first choosing the upper bound for the error bar, then the point estimate, then the lower bound.)
When I try to load an image I got stuck in "Processing..." and no image is loaded.
My chrome is up to date and it was perfectly working a month ago. Same thing happen on my mac with chrome or safari..
Thanks you in advance and thanks for your very usefull app!
Hi
Great app - I love it.
I've used it successfully recently without any issues whatsoever for analysing microscopy data with a scale bar. However, I tried to do some analysis today and met a problem I had not previously encountered: I was able to upload an image without incident, but was unable to configure the scale bar appropriately.
I get the usual list of options from the calibrate axes dialogue, but only the 2d plot works (i.e. you get the instructional pop-up and then can enter references for the x and y axes). None of the other options are associated with a pop-up or any actions: you go 'map with scale bar' and click 'align axes' in the dialogue and the window closes but then nothing happens; no pop-up, no actions on click.
I've tried on two different computers (both Win7), tried clearing my cache, and also with the downloadable version, with a variety of different images (including the default sine wave), all with the same problem. I've also tried the polar and ternary calibration approaches; they seem to be dyfunctional too.
Sorry to be a pain - I hope it's something stupid that I'm doing rather than a problem with the app. Thanks for any help.
Simon
Add log scale support for polar diagrams.
There seems to be a problem with the combination of automatic and manual mode. After the automatic mode has applied and I switch to manual mode, I can adjust the points. However, once I try to add points, the red dots are drawn correctly but the points are somehow not registered. Any adjustment of previous points is not registered at all. The point data as shown in "View data" seems frozen. Moving points around or adding or deleting point does not seem to have an effect on the data.
Hi There,
Once again, absolutely love the program.
One nifty feature that would be great to have would be the ability to label individual series separately. That is, suppose I am trying to parse a graph like the one attached (not exactly the one attached, since that one has the numbers anyway, but it's useful for test purposes). It would be nice to have a button that says, "first do series 1", do the blue bars, and then say, "now do series 2", and do the red bar.
This is a less critical addition, since I can manually just do the blue bar, extract the data, then do the red bar, then extract the data... but would be nice!
/yga
Currently, the extracted data can only be exported in .CSV format. This is great for many tools, but e.g. for import in a python script the JSON format is (imho) more convenient. There already exists an "Export to JSON" which stores that data points in pixel units (as well as the axes system befined by the user), but this requires the user to run the coordination transform himself.
I'll happily donate again once this feature is included.
X-Step algo crashes if negative step size is present.
Make it an option to mark certain area(s) of the plot as un-digitizable, such as legend. Otherwise, user later notices that the line in the legend was digitized as part of the plot.
Is there a way to draw lined between points?
I'd need that functionality for a University project.
Points alone won't do. I would need to be able to draw straight lines between data points.
Having the possibility of drawing broken lines between 2 data points would be even nicer.
Thanks.
My standard workflow for using a plot digitizer is to
If there were an option to directly capture a screenshot, this would circumvent steps 3 and 4. It may seem small, but both of these steps require navigating to the folder containing the image, which can get tedious.
Hello Ankit,
It would be nice to get values represented by colors, for example, on a heatmap. I can imagine it's not strait-forward, but probably doable. It would require a proper grids from user (might be with an image rotation fix) and using a color key axis with multiple points pickup to fit the value-color function (or functions for each color channel).
As an alternative (for example, if color key is not available) WebPlotDigitizer can return color values in a color space selected by user.
Another example of this is a scatterplot where color of a dot represent some value.
Love your tool.
Yuri
JSON already supports this, but maybe add an option to create a combined CSV file?
(requested by a user via. email)
I am unable to download an image to WebPlotDigitizer wether I'm trying to download the image, drag it or use cut and paste. Could you please let me know what could be causing this problem? Thank you
Hello, can't seem to get my images to drop into the plotter. I tried using the most recent versions of Safari, Chrome, and Mozilla. Does the file type matter? I'm trying to use jpgs, dropping files. Also working on a Mac 10.7.3.
Create a separate remote access entry point which can load images sent via POST.
When defining the axes, the four blue dots appear at each of the for clicks.
However, when the dialog appears to enter the calibration x/y coordinates, the blue dots are not shown anymore. Sometimes I start doubting which points i actually clicked (e.g., did I click 0 or 1) . It would be helpful if they could be shown until the end of the calibration process.
I am trying to digitize this plot
The x and y axes are both log.
I started by choosing the 2D plot to define the axes.
Then I selected 4 points
10^1, 10^3 on the y axes
and 10^-27 and when I try to select the 4th point on y axes. Suddenly the "Specify Range of Variables" dialog box opens. I dont think i was able to select the 4th point.
Please help!
The code doesn't seem to respect the delta_x values specified in pixels.
If we specify a range that is outside the curve area, the algo adds some points with bizzare y-axis data. It is easy to see those points are wrong, so it's not a huge problem, but needs to be fixed.
Drawing operations need to be smoother.
I am unable to fix axes properly for my X-Y plot. I followed the directions correctly but the values are way off the graph values.
http://db.tt/LW6K3o6X
Some users have reported that the default color distance is too high. Also checkout https://en.wikipedia.org/wiki/Otsu%27s_method (source: comments on https://news.ycombinator.com/item?id=9894336)
Hi there,
Bar graphs can be handled/hacked by X-Y charts in manual mode already, but I wonder if it might be useful to add them as a separate graph type.
There are two major differences between bar charts and others:
I think this is a nice-to-have, since the current system works fine - but perhaps a good way to get more nontechnical users using your software!
Once again, thanks so much for your work.
/YGA
Red data points are sometimes hard to see especially if the data curve is also red. Add some way to change this color.
(requested by a user via email)
Also, some users would like to see these points connected by a smooth curve. Maybe add some way to turn this on/off?
the idea of an online digitizer is great, because it saves the trouble of installing stuff. However, in the current version it doesn't do much.
Ok: uploading a picture.
Half ok: adding points to define axis. points can be added, but are then forgotten.
Not ok: all the rest.
It's really a pity because such a tool would come in very handy.
I often need to switch quickly between creating and deleting points, it would be handy if this could be done by simply holding the shift key (or some other key) down.
Hi there,
Absolutely love your program. However, one issue keeps popping up - the fact that the mouse is usually not quite fine enough to ensure that I've quite gotten the right value.
What would be spectacular would be if there was an ability to bump the last point chosen by a pixel using the keyboard arrow keys (or, if for whatever reason that doesn't work, some other keyboard keys). This would apply to both the "axis selection" and "point selection" modes.
Thanks!
/yga
First off, I love the program. Kudos for excellent work.
What is the maximum resolution of an imagine that WPD can support? I have a ridiculously-large image that is 39,600 x 2,475. The image will load into WPD, but only shows a white background. I think my option is to rescale image, but I would like to keep the image as large as possible to preserve the digitizing quality.
Thanks for your time.
The sliders do not appear as sliders but text boxes with the value in them.
Introduced in 3.2
killed my markings...
Hello,
I was wondering if WebPlotDigitizer will be ported to touch screens that can use the capabilities of a stylus (sort of tracing spectra without clicking with a mouse...
sincerely,
alex
Hi, I love the software. Thanks for all your hard work. It would be helpful if the Measure Distances feature could output scaled distances instead of pixel distances. It's possible to do the conversion manually, but it takes time.
Thanks,
Will
It seems the x-axis definition is not interpreted correctly by the coordinate preview, although it does seem to be correct when points are acquired.
I uploaded this chart: http://www.motherjones.com/files/gun-demand_3.jpg and with the "Define Axes" (2D) function I selected the endpoints of the x-axis, defining them as 2008 and 2013.
After doing that the coordinate preview (in the upper right of the app) displays a range of values from about 2008.5 to 2013.5 when I hover from left to right. More precisely, the x-coordinate in the preview changes values about midway between tick marks on the graph, but I expected the preview values to change where the graph's tick marks are.
However, when I actually extract the data points and export, the x values do range correctly from 2008 to <2013.
This does not seem to affect the y-axis. That works as expected.
BTW this is a cool app! Very useful.
On the example image, for instance, I can extract blue and green separately:
0.006169385035050678,0.007610350076103778
0.030771227199363864,0.05022831050228316
0.061663098047803094,0.08105022831050235
0.0863761216142053,0.10578386605783852
0.1110915107423537,0.13013698630136994
0.012050171537019877,0.0616438356164386
0.03666147594831956,0.10273972602739745
0.06124439361866026,0.14840182648401856
0.08589827814139778,0.182648401826484
0.13541894774406496,0.2168949771689499
0.19143308434106257,0.20662100456621002
But these are not on the same X coordinates. I would like to be able to extract both based on the same X values:
x y1 y2
0.012050172 0.061643836 0.017797682
0.030771227 0.092904204 0.050228311
0.036661476 0.102739726 0.056185970
0.061244394 0.148401826 0.081050228
0.085898278 0.182648402 0.105783866
0.111091511 0.200071065 0.130136986
This way I can import into a spreadsheet and subtract one curve from the other, for instance.
How are you doing it?
It would be handy to be able to extract points quickly based on color separation when plots are more than just black and white. Present the user with a color histogram and select which colors to extract points from.
First of all: My apologies. I was rather too quick at dismissing your tool. It actually works quite well and I will definitely use it more often.
Without the tutorial it can be a bit confusing, however, with the tutorial at hand it suddenly all makes sense and works like a charm.
Minor issue/suggestion: is there a way to extract dates? I used a graph with daily data for several years up until today. I told the tool my x-axis points were 2009 and 2013, so it gives me 2013.5830993465388 for today (5 aug 2013). I suppose these fractions can be recalculated into dates, but it would come in handy if the tool would have that functionality in place. ( I do realize this may be more complicated than it seems, because of different date formats).
Dear Ankit,
Thanks for the very helpful program (WebPlotDigitizer v2.6 ).
I have several figures that they contain symbols such as triangle, square, asterisk, circle etc. You can see some of them in attachment. As you know, the center of each symbol is the data that I want to extract and I need a precise data set. Do have any suggestion how I can do this?
Best,
Shahriar
Automatically extract percentages from a pie chart.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.