← Back to Tutorials

How to Digitize a Plot for MATLAB (CSV Workflow)

⚡ Quick Answer

Digitize in Engauge Digitizer, export CSV, load with one line: T = readmatrix('curve.csv') — column 1 is X, column 2 is Y. Important: if you have the original .fig file, don’t digitize at all — extract the data directly with openfig. Digitizing is for images only. (MATLAB users also know the free GraBIT toolbox; Engauge is the standalone alternative that needs no MATLAB license to run.)

First: Do You Actually Need to Digitize?

Engineers often digitize unnecessarily. Check first:

  • Have the .fig file? → openfig, then get the line objects’ XData/YData. Exact data, zero digitizing.
  • Have the simulation script? → re-run it and save the data. Obvious, but often forgotten.
  • Only have the image? (paper figure, datasheet, screenshot) → digitize with Engauge Digitizer, then continue below.

The Workflow: Engauge → CSV → MATLAB

  1. Digitize the plot: Import the image into Engauge Digitizer, calibrate axes, trace the curve(s) — see our tutorials if this is your first time.
  2. Export CSV: File > Export. One column per curve; the first row structure loads cleanly into MATLAB.
  3. Load in MATLAB: One line:
T = readmatrix('curve.csv');   % X in column 1, Y in column 2
plot(T(:,1), T(:,2), 'LineWidth', 1.5)
xlabel('Time (s)'); ylabel('Voltage (V)')
grid on
  1. Compare against your model: Plot the digitized curve next to your simulation output — this is the #1 use case: does my model match the published/datasheet curve?

💡 Tip: Name your CSV columns after the curves (time_s, voltage_V) and MATLAB’s readtable gives you named variables — T.voltage_V beats T(:,2) in every script you’ll re-read.

GraBIT vs Engauge: Which Digitizer for MATLAB Users?

GraBIT is a free MATLAB toolbox — convenient if you live in MATLAB. Engauge Digitizer is standalone: digitize on any machine (no license needed), then bring the CSV to MATLAB. Many engineers digitize on a laptop with Engauge and analyze on a workstation with MATLAB — the CSV is the neutral handoff format. Either way, the downstream MATLAB code is identical.

Related Guides

How to Digitize Datasheet Curves

The electronics workflow that feeds this MATLAB step.

How to Export to Excel / CSV / Python

The export mechanics behind the CSV.

How to Batch-Digitize Multiple Graphs

When one plot becomes fifty.

Frequently Asked Questions

How do I get digitized graph data into MATLAB?

Export the curve from Engauge Digitizer as CSV, then load it with readmatrix: T = readmatrix(‘curve.csv’). Column 1 is X, column 2 is Y — plot, analyze, or compare against your simulation directly.

I have the .fig file — do I still need to digitize?

No! If you have the MATLAB .fig file, extract the data directly: open it with openfig, then read the curve data with get on the line objects. Digitizing is only for images — never digitize a figure you can open natively.

What is GraBIT, and how does Engauge compare?

GraBIT is a free MATLAB toolbox for digitizing plots — it runs inside MATLAB. Engauge Digitizer is the standalone alternative: no MATLAB license needed to do the digitizing, and the CSV it exports loads into MATLAB (or Python, or Excel) in one line.

Can I digitize directly inside MATLAB?

Yes via GraBIT (free, runs in MATLAB). But if you don’t have MATLAB on the digitizing machine — a lab computer, a laptop without a license — Engauge Digitizer does the extraction standalone, and the CSV moves to MATLAB later.

Ready to try it yourself?

Download Engauge Digitizer free and follow along with this guide.

Download Engauge Digitizer