Three-axis scatter plot

Upload a CSV, map three numeric columns to X, Y, and Z, and explore an interactive 3D scatter plot in your browser.

How to use this tool

This tool turns a spreadsheet of numeric measurements into an interactive three-dimensional scatter plot in your browser. It is suited to exploratory views of multivariate data—for example principal component scores (PC1, PC2, PC3), normalised gene expression across samples, imaging coordinates, or any table where three continuous variables define position in space and optional columns carry labels or group colours.

When to use a 3D scatter plot

A three-axis scatter plot helps you see structure that is hard to read from tables alone: clusters, outliers, gradients, and separation between experimental groups. Common uses in molecular and cell biology include visualising PCA or t-SNE/UMAP embeddings (with the caveat that 3D projections still compress high-dimensional data), comparing sample-level expression profiles, or plotting measured intensities or morphological parameters in three dimensions. Use it for exploration and communication; confirm important conclusions with appropriate statistics on the full dataset.

Preparing your CSV file

Your file should be a plain-text table with a single header row and one data row per observation (e.g. per gene, cell, sample, or replicate).

  • Headers — The first row must name each column (e.g. gene, PC1, PC2, PC3, condition).
  • Numeric axes — Choose three columns that contain numbers only (decimals are fine). Empty cells in those columns are skipped for that row.
  • Delimiters — Comma-separated values are detected automatically; tab- or semicolon-separated files are also supported.
  • Quoted fields — Values that contain commas can be wrapped in double quotes, as in standard CSV exports from Excel or R.
  • Optional columns — A text column can drive point colour by category (e.g. cluster, genotype). Another column can appear on hover as a label (e.g. gene_symbol, sample_id).

Very large files are limited to the first 25,000 rows in the browser to keep the plot responsive. For bigger datasets, subsample or filter in R, Python, or Excel before uploading.

Step-by-step workflow

  1. Click Load example data to see a demo PCA-style gene list, or use the file control to upload your own CSV. You can also download the example file and edit it as a template.
  2. After loading, pick the X, Y, and Z columns from the dropdowns. The tool lists columns that are mostly numeric. All three axes must be different columns.
  3. Optionally set Colour by to a categorical column (groups get distinct colours) or a numeric column (points are coloured on a continuous scale). Set Hover label to show an identifier when you point at a dot.
  4. Click Update plot if you change axis assignments after the first draw. Styling changes under Appearance refresh the plot automatically once data are loaded.
  5. Use Export (PNG, JPEG, or SVG) to save the current camera angle and styling for slides or manuscripts. Set export width before downloading; height is scaled proportionally.

Navigating the 3D view

  • Rotate — Click and drag on the plot.
  • Zoom — Scroll the mouse wheel or pinch on a trackpad.
  • Pan — Right-click and drag (or two-finger drag on some trackpads).
  • Reset — Use the home icon in the Plotly toolbar on the plot (top-right) to return to the default orientation.

Hover over points to read coordinates and any label column you selected. If you coloured by group, use the legend to focus on one trace (click a legend entry to hide or show that group).

Customising appearance

The Appearance panel controls how the figure looks before export:

  • Plot title and font family / size — Match your lab or journal style.
  • Marker colour, size, opacity, and symbol — Used when no colour column is selected; opacity helps dense plots.
  • Background and scene background — Outer frame vs interior of the 3D box.
  • Grid colour and Show axis grids — Reference lines on each axis.
  • Axis line width and Text colour — Axis lines and tick labels.

Dark defaults match The Bond Lab site theme; switch backgrounds and text to white for print-friendly figures if needed.

Privacy and limitations

Parsing and plotting run entirely in your browser. Your CSV is not uploaded to our server. You need JavaScript enabled and a connection to load the Plotly charting library the first time; ad blockers that block cdn.plot.ly may prevent the graph from drawing—allow that host or try another browser if the plot area stays empty.

Load a CSV and choose X, Y, and Z columns to draw your scatter plot.