Vol. 01 · No. 1 · Beta Edition
Working in the app

Visualization Workspace.

Every plot node opens into a workspace where you tune the figure and re-render it — without re-running the analysis behind it. All matplotlib plot nodes share the same five sections, in the same order, and remember which sections you had open.

01

Opening it

Run a visualization node, then open its workspace from the node card. The plot on the left, the controls on the right; change anything and press Re-generate to redraw. Only the figure is recomputed — clustering, DEG and embeddings upstream are untouched, so iterating on a figure costs seconds rather than a pipeline re-run.

Opening the panel cannot change your figure

Opening a workspace and pressing Re-generate without touching a control gives back a byte-identical figure. Every control left blank means “keep what the node decided”, never “reset to some default”, and controls hidden for the current plot type are left unset rather than reset.

02

The five sections

01

Plot

What is drawn, and from which data. This is the only section that differs from node to node — a volcano asks for thresholds, an embedding asks for a colour column.

Plot type
— One node often draws many figures — Marker Visualization covers 11, Spatial Visualization 16. Only the controls that affect the selected plot type are shown.
Colour by / cluster key
— Which obs column drives colour or grouping.
Colormap & palette
— Previewed in the dropdown, so you pick by looking rather than by remembering what “magma” is.
Group colours
— Assign an exact colour per group from a swatch, lock the palette so it survives re-renders, or reset to automatic.
02

Titles & Labels

Every piece of text on the figure: what it says, and how big it is. Base Font Size scales all of it at once; the sizes under it override element by element.

Base Font Size
— Left blank the figure keeps the node’s own sizing. Set it and everything scales together.
Title / axis title / tick label sizes
— The individual overrides, listed under the base size so the hierarchy is visible. Typing a title no longer cancels the title size you chose.
Value Label Font Size
— The numbers drawn on the plot itself — bar counts, percentages, annotated statistics.
Font Family
— Journals frequently mandate Arial or Helvetica.
Rename Groups
— Change a group’s display name everywhere it appears at once — axis categories, legend entries and on-plot labels — keeping whatever trails the name, such as a count. The underlying data is untouched.
03

Axes

The frame the data sits in: range, scale, tick density, gridlines, spines.

Axis ranges
— Pin x / y limits so two figures can be compared honestly. A custom range is kept when tick labels are rebuilt.
Tick count & direction, tick width, axis line width
— The details that make a figure look like it belongs in a paper rather than in a notebook.
Scientific notation
— For axes that would otherwise print six zeros.
04

Legend

Where the legend sits and whether it is boxed.

Placement picker
— A grid of inside and outside positions plus Auto / On data / Hide. Matplotlib’s own loc cannot leave the axes, so Oreumics computes the anchor and grows the figure so nothing is clipped.
Legend title, font size, columns, frame
— The rest of the legend, in the same place as the placement. The frame is off by default.
05

Figure & Export

The physical figure and how it leaves the app. Last on purpose — it is the step you take once, at the end.

Export format
— PNG, PDF or SVG. The on-screen preview stays PNG; Download writes the format you picked, named after the figure actually on screen.
Raster DPI
— Overrides the Publication Quality switch the moment you type a value.
Transparent background
— For dropping a panel onto a coloured slide or a composed figure. Each source plot needs it set individually; Figure Canvas has its own Transparent toggle for the composed export.
Rasterize points
— Keeps a PDF or SVG small when a scatter has hundreds of thousands of points, while axes and text stay vector.
Figure size / panel gap / auto-fit
— Including an opt-in auto figure size on marker plots, where a fixed canvas gives sixty genes the same width as five.
03

Colours that follow your groups

Assigning a colour to a cell type — “CD8 T is always this blue” — writes that choice back to the dataset rather than to one figure. Later plots of the same grouping pick it up, so a UMAP, a dotplot and a composition bar chart in the same paper agree without you re-entering hex codes three times. The AI Copilot and a connected assistant can read the current palette and propose changes against it. Coverage reaches most categorical plots; diagnostic colours whose meaning is part of the assay (PASS / FAIL, methylation Red / Grn channels) stay fixed on purpose.

Renaming groups works the same way: the new name reaches the axis, the legend and the labels drawn on the plot together, and it is a display name, so nothing downstream is re-computed.

04

Exporting the numbers, not just the picture

Every workspace has an Export raw data button that writes the table the figure was drawn from — the actual coordinates, means, fold-changes or p-values — as CSV, alongside a short .LLM_README.md describing each column. Twenty plot families are covered, from embeddings and marker matrices to volcanoes, PAGA connectivity, velocity fields and ligand-receptor scores.

It answers two common requests at once: a reviewer asking for source data, and wanting to hand a figure’s numbers to an LLM or to your own plotting script without rebuilding the analysis to get at them.

05

The Embedding Workspace

UMAP, t-SNE and PCA scatters get a workspace of their own, because exploring an embedding is a different activity from styling a finished figure. It uses the same five sections and adds what exploration needs: colour by any metadata column or by a gene, switch between scatter and density, centroid labels, point size and opacity for a plot with hundreds of thousands of cells, and a legend whose visibility and column count you control.

The difference that matters in practice is the gallery: pinning the current figure keeps it, so you can pin a UMAP coloured by cluster, change to a marker gene, pin that, and compare side by side instead of regenerating each one from memory. Pinned figures are what Figure Canvas picks up.

06

Related workspaces

  • QC Workspace — the same idea for thresholds: drag them and watch the distribution respond before committing to a filter.
  • Figure Canvas — once individual panels look right, assemble them freely into a multi-panel figure with annotations and crop.
  • Obs Inspector — explore the metadata columns these plots colour and group by.
  • Spatial Viewer — a Plotly WebGL viewer for spatial data with lasso, box and polygon selection.