How to Create a Scientific Graph (Free, in Your Browser)
A scientific graph has a job beyond looking nice: it has to communicate a result precisely and survive being dropped into a paper, report, or slide. This guide walks through making one from a plain CSV — for free, entirely in your browser — using Graphium.
What makes a graph “scientific”?
Three things, mostly: clearly labelled axes with units, an honest representation of uncertainty (error bars where relevant), and output that stays sharp at any size — i.e. a vector format like SVG or PDF rather than a blurry screenshot. Keep those in mind and the rest is mechanics.
Step 1 — Get your data into a CSV
Put one variable per column with a header row, and one observation per row. The first column is usually your independent variable (time, concentration, distance); the others are what you measured. Export to CSV from Excel, Google Sheets, Python, or R. Nothing gets uploaded — Graphium reads the file in your browser — so even unpublished data stays on your machine.
Step 2 — Import the data
Open Graphium and load your CSV into the worksheet. Large files are streamed in the background, so a few hundred thousand rows won’t freeze the page. Your columns become the data every graph draws from.
Step 3 — Choose the right chart type
Match the chart to the question you’re answering:
- Line / scatter — a relationship between two continuous variables, or a trend over time.
- Bar (grouped or stacked) — comparing values across categories or conditions.
- Histogram — the distribution of a single variable.
- Pie / doughnut — parts of a whole (use sparingly).
- Function plot — a model or fit defined by an equation, overlaid on data.
Step 4 — Set up the axes
Give each axis a title with units (e.g. “Time (s)”, “Signal (mV)”). Switch to a logarithmic scale when your data spans orders of magnitude. If two series live on different scales, put one on a secondary (dual-Y) axis so neither gets flattened. Need to skip a dead range? Add an axis break.
Step 5 — Show your uncertainty
If you have error estimates, add error bars — either a constant value or a column of per-point errors. Honest error bars are often the difference between a figure that passes review and one that doesn’t.
Step 6 — Refine every element
In Graphium each line, symbol, axis, and label is a selectable object with its own properties, so you can tune colours, line weights, symbol shapes, and fonts until the figure reads cleanly in black-and-white print, not just on screen.
Step 7 — Export publication-quality vector output
Export to SVG for a crisp, scalable figure you can drop into a manuscript or refine in a vector editor, or PNG when you need a raster image. Because the on-screen canvas and the export share one render path, what you see is exactly what you get.
A few habits that keep figures publication-ready
- Label units on every axis; avoid bare numbers.
- Keep colour meaningful and legible when printed in greyscale.
- Don’t truncate axes in a way that exaggerates an effect.
- Export vector (SVG/PDF) whenever the destination allows it.
That’s the whole loop: tidy CSV → pick a chart → label axes → show uncertainty → refine → export vector. If you’re coming from desktop software, here’s how this approach compares as a free alternative to Golden Software Grapher.
Make your first graph now
Free, in your browser, no sign-up. Import a CSV and export a vector figure in minutes.