Code Monkey home page Code Monkey logo

automeris-io / webplotdigitizer Goto Github PK

View Code? Open in Web Editor NEW
2.5K 2.5K 338.0 48.54 MB

Computer vision assisted tool to extract numerical data from plot images.

Home Page: https://automeris.io/WebPlotDigitizer.html

License: GNU Affero General Public License v3.0

JavaScript 86.06% Shell 0.85% HTML 10.48% Python 0.17% CSS 1.14% Go 1.13% Dockerfile 0.17%
charts computer-vision data-mining html javascript reverse-engineering visualization webplotdigitizer

webplotdigitizer's People

Contributors

ankitrohatgi avatar billdenney avatar durka avatar ewchow avatar hu-xiaonan avatar kolanich avatar nbehrnd avatar nkh0472 avatar rgxgr avatar richardnpaul avatar stefre avatar steve-v avatar zlatanstanojevic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

webplotdigitizer's Issues

WebPlotDigitizer doesn't create any data

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.

  • the range of variables to be selected after setting the axis points should be the range of those axis points.
  • Clicking the Extract! button leads to a screen with options that are unrelated to the task at hand, i.e. extracting data.
  • Neither manually nor automatically does the program create the promised csv file. Points are not selected, the graph is not recognized, etc.

It's really a pity because such a tool would come in very handy.

point selection by color

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.

Figures with symbol

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

untitled
untitled2

Drawing lines between data points

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.

blue calibration dots not shown when entering values for axes

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.

WebPlotDigitizer actually works quite well - date/time?

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).

Not giving the correct coordinates

I am trying to digitize this plot
screenshot from 2013-10-07 16 09 45

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!

Allow changing detected data point color

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?

Labelling individual series separately

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

cd4

support colors digitization (heatmap, scatterplot)

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

Data not being updated (Blob Detector)

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.

Axis Definition

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.

digitization with a touch screen with a stylus

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

x and y order while drawing line

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.

http://stackoverflow.com/questions/14133040/finding-coordinate-of-sketch-image-eg-scanned-as-photo-format-in-r-or-other-s

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.

Maximum Resolution of Image

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.

Data against specific x values

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....

Legend: do not digitize it

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.

shift+click to delete points

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.

HTTP Server

I see some python HTTP servers have been provided. How does one use them?

Bar Chart Enhancements

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:

  1. grouped bar charts?
  2. bar charts with error bars?

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.)

Output scaled distance in Measure Distances (ref: error bars)

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

Extract multiple curves from the same X coordinates

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.

Dropping

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.

Have a separate graph type - bar graphs

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:

  • X values tend to be discrete - if they are in fact numbers (as opposed to pure labels)
  • Automatic mode would require very different programming

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

Screenshot option for capturing images

My standard workflow for using a plot digitizer is to

  1. find a plot in a pdf
  2. take a screenshot
  3. save as jpg
  4. upload to digitizer
  5. align axes and extract points

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.

Auto extract not working

Hi,

On the demo website, the auto extract feature is not working for me. I have some "l.binaryData and b.binaryData which does not exist" errors in the javascript console.

Maybe I missed something… I tried with both Firefox and chromium, up to date.

I attach the graph I tried it on :
ibg_below

Thanks

Scaling not working

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

Make micro adjustments using keyboard arrows?

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

Problem while loading image

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!

Export to JSON

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.