← Blog

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.