Skip to the digitizer
CDIGIT

Digitize graph from image

Place four anchors, read the midpoint, and keep the free file to a 10-point sample.

X midpoint5.0000
Y midpoint50.0000
R²0.9984
Series2

File Two-Series Stress-Strain Curve · 800x520. The picture stays in this browser. Sample: sample-stress-strain.png.

Alloy A Alloy B

Last point 10.0000 95.0000

Manual points, resample, and exact anchors
Add

10-point check

Free file: the first 10 rows of the active series, columns series, x, y. Width 800 px. PROOF is stamped on the PNG.

Sample rows 10

  1. 0.0000 0.0000
  2. 0.5000 8.7500
  3. 1.0000 17.5000
  4. 1.5000 26.2500
  5. 2.0000 35.0000
  6. 2.5000 41.7500
  7. 3.0000 48.5000
  8. 3.5000 55.2500
  9. 4.0000 62.0000
  10. 4.5000 66.0000

Pro export

Pro replot

Strain (%) Stress (MPa)
Aligned rows
100
Locked rows
90
Row 1
0.0000 0.0000 0.0000
Row 10
0.9091 16.3599 13.0654
  1. 0.2020 3.5720 2.8558
  2. 0.3030 5.3809 4.3009
  3. 0.4040 7.2010 5.7543
  4. 0.5051 9.0290 7.2137
  5. 0.6061 10.8621 8.6769
  6. 0.7071 12.6969 10.1414
  7. 0.8081 14.5306 11.6050
import matplotlib.pyplot as plt
# 10-point calibration sample for Alloy A. Rows after these 10 stay in the paid archive.
x = [0.0000, 0.5000, 1.0000, 1.5000, 2.0000, 2.5000, 3.0000, 3.5000, 4.0000, 4.5000]
y = [0.0000, 8.7500, 17.5000, 26.2500, 35.0000, 41.7500, 48.5000, 55.2500, 62.0000, 66.0000]
plt.plot(x, y, marker="o")
plt.show()
reproduce_plot.py
reproduce_plot.R
reproduce_plot.m
overlay-verification.svg
overlay-verification.pdf

Unlock Pro research packs for this figure. A 7-day pass is $8.99, the monthly plan is $11.99, and lifetime is $29.

Early Launch Price · 50% Off 7-Day Research & Paper Pass $17.99 $8.99

Launch Offer · Save 50% Monthly Lab & Engineering Plan $23.99 $11.99/month

Best Value · 50% Off Lifetime Researcher License $58.00 $29.00

Pack status idle

Steps

From ticks to a sample

  1. 01 Choose a figure

    Start from a built-in chart or drop a PNG, JPG, WEBP, or SVG up to 10 MB.

  2. 02 Set the four ticks

    Type the printed values for X1, X2, Y1, and Y2. Pick linear or log10 per axis.

  3. 03 Trace or add points

    Reload an example’s curves, or add a manual point on the active series.

  4. 04 Check ten rows

    Confirm the midpoint and the first 10 sample rows before any paid archive.

Check

How the stress-strain sample is built

Alloy A, linear, 0.5 strain step. Only these first rows are free.
RowStrainStress (MPa)
10.00000.0000
20.50008.7500
104.500066.0000
21 (paid)10.000095.0000

Four anchors are the whole calibration. Put X1 and X2 on one horizontal tick line and Y1 and Y2 on one vertical tick line. The pixel halfway between a pair is the fraction t = 0.5 along that pair. On a linear axis the readout is the arithmetic mean of the two values you typed.

With X running from 0 to 10, the X midpoint is 5.0000. With Y running from 0 to 100, the Y midpoint is 50.0000. Those strings use four digits after the decimal. Units stay in the axis label, not inside the readout, so a test or a notebook can copy the number alone.

A log10 axis uses the same fraction, then raises 10 to that power. The halfway pixel is the geometric mean, the square root of the product of the anchors. The worked check lives on the log-axis page: Y from 10 to 1000 reads 100.0000, and the relative error is 0.0000e+0.

The free CSV is not the longest file we can build. For Alloy A the vertices are at 0, 2, 4, 6, 8, and 10 percent strain. A 0.5 step from 0 to 10 makes 21 rows. The sample keeps the first 10, so row 2 is 0.5000 strain and 8.7500 MPa.

Row 10 of that sample is 4.5000 strain and 66.0000 MPa. That point sits on the straight segment from (4, 62) to (6, 78): one quarter of the way, stress rises by 4 MPa. If you need row 11 through 21, that is the paid curves.csv, not the free download.

Trace on a built-in figure reloads the authored vertices. Alloy A is #d64545 and Alloy B is #2f6fed. On a file you dropped, the tracer clusters saturated pixels and skips gray grid. Raise the hue slider inside Advanced if a second curve is missed. The number and the slider stay locked together.

The free sheet holds eight series and 50 points on each one. The 51st point and a ninth series open the pass panel and are not added. The paid zip still caps a request at eight series, but each series may carry up to 1,000 points, with px and py beside every data pair.

Dropping a file or switching the example clears the previous vertices. The published sample PNG is 640 by 400, and the size line reads 640x400 after it decodes. Axis numbers stay until you edit them. An empty file, a renamed text file, or anything over 10 MB stops with an error and does not claim success.

Anchors start on an 8 percent inset. Drag a handle if your tick is elsewhere, or type pixels in the advanced drawer. The loupe is fixed at 8×. It follows the pointer on a wide screen and docks in the corner at 390 px when an anchor field is focused.

R² is a degree-2 least squares fit on the active series, with x shifted to its mean so a 200–400 °C axis stays stable. The pump head curve matches H = 32 + 1.4 Q − 0.08 Q² at six flows, so the readout is 1.0000. One bar with one point cannot be fit.

The aligned matrix uses every series. Row i of M rows is Xmin plus i times (Xmax − Xmin) divided by M − 1. Kaplan–Meier from 0 to 60 months at M = 100 has row 10 at 5.4545 months, treatment 0.9636, control 0.9345. Later rows are a locked count, not blurred numbers.

Linear interpolation is the acceptance method. Monotonic cubic, from Fritsch and Carlson (1980), is available when you want a smooth curve that cannot reverse between knots. Change it in Advanced. The replot, the sample, and the masked-row count update in the same turn. There is no Calculate button.

This bench reads coordinates off a figure. It does not diagnose, prescribe, give legal advice, or compute tax. A survival curve is only the ink in the paper. Pool a mean only after you have read that paper’s methods. The meta-analysis page shows the SD and SE conversion with that limit stated in words.

A paid click sends anchors, scale names, and the coordinates already on screen. It does not send image bytes. The route checks payment before it builds a zip, and it does not write the body to disk. Free use of the canvas has no account and no daily cap.

Launch prices sit on this dock: $8.99 for seven days against $17.99, $11.99 per month against $23.99, and $29 lifetime against $58. The button opens checkout from the figure you are on. The project is saved in this browser first, and a return visit restores the anchors.

Two longer notes sit beside the tool: curve digitizer online formulas and the scientific plot digitizer path for meta-analysis.

Uses

Where the numbers go

FAQ

Questions from the bench

Does the midpoint depend on the picture?

No. The halfway pixel between the two anchors is t = 0.5. Linear axes return the arithmetic mean, so 0 and 10 read 5.0000 and 0 and 100 read 50.0000. A log10 axis returns the geometric mean. The photo only tells you where to place the anchors.

Why does the free CSV stop at 10 rows?

The free file is a calibration sample: series, x, y for the first 10 rows of the active series. Alloy A at a 0.5 strain step has 21 rows from 0 to 10, and only the first 10 download. Full CSV, XLSX, and the pixel table are in the paid archive.

What does hue tolerance 18 mean?

It is the circular HSV hue distance in degrees. Pixels with saturation below 0.15, value above 0.92, or value below 0.12 are ignored, so white paper and gray grid are not traced. Built-in examples reload their authored series instead of guessing pixels.

Will my chart be uploaded?

No. PNG, JPG, WEBP, and SVG files up to 10 MB are decoded in this browser. A paid export sends anchors and coordinates only. The server builds the zip in memory and does not store the request.

How large is the proof PNG?

Width is the sheet width, capped at 1200 px. Built-in charts are 800 by 520, so the width readout is 800. A PROOF band is drawn along the bottom. It is an overlay picture, not a data file.

Is the R² on the pump chart exact?

Yes. Head is 32 + 1.4 Q − 0.08 Q² at Q = 0, 4, 8, 12, 16, and 20. The degree-2 least squares fit, with x centered, reads 1.0000. A series with one point has no fit, and the readout stays a dash.

Family

Same engine, different figure