Chart block

Eight chart types with realistic assay data.

The chart block renders any of eight chart types from inline data or from another block in the same document. It re-renders automatically when its source block updates, handy for live study-status documents.

A realistic example: PK time-course

Three dose groups (3, 10, 30 mg/kg), plasma concentration over 24 hours, modelled with first-order absorption and elimination:

0h4h8h12h16h20h24h036912C (µg/mL)Time post-dose3 mg/kg10 mg/kg30 mg/kg
Time-course PK: concentration vs time, three dose levels.

Chart types

The picker offers exactly these eight, in this order:

Line
Time-course, kinetic, longitudinal data. Supports aggregation and error bars.
Area
Stacked time-course. Supports aggregation and error bars.
Bar
Categorical comparison. Supports aggregation, error bars, individual points and group sorting.
Scatter
Two-variable correlations. Points only, no aggregation.
Strip Chart
Individual observations by category, jittered, with no aggregation. Stored as chart type dotPlot.
Box Plot
Distribution summary across groups. Always summarised by median; individual points can be overlaid.
Histogram
Distribution of a single variable.
Pie
Composition. Needs a categorical column. Used sparingly.

Box plot, strip chart and pie need a categorical column; the picker disables them until the data has one.

Heatmap, violin and Kaplan-Meier

These three names are accepted by the document schema for forward compatibility but have no renderer, and the chart-type picker deliberately leaves them out.

Presets

Six life-science presets set several attributes at once from the chart creation wizard: Mean + SEM, Mean + SD, Box & Whisker, Dose-Response, Individual Values and Median + 95% CI. Dose-Response is a line chart with a log10 X axis, nothing more: Dalea does not fit curves and does not compute EC₅₀ or IC₅₀. Fit your standards in a Python block or the sandbox and record the derived concentrations as their own result batch.

Data sources

A chart is powered by either:

  • Inline data: a JSON array typed into the Data tab.
  • Another block in the same document, referenced by block id. Only four block types are valid targets: Spreadsheet, Lookup table, Registration table and Well plate. The rule is enforced in the editor's source picker and again server-side when the document is saved.

A saved query reaches a chart through a lookup table block: point the lookup table at the query, then point the chart at the lookup table.

Configuration

The config panel has two tabs.

Data covers the source picker and how columns map onto the chart: X-axis column (or auto-detect), Y-axis columns, group-by columns, and a Summarize choice of Auto, mean, median, sum, min or max. An Advanced disclosure adds a row range, group sorting by value or name, a scale transform (% of max, % of first group, fold change, z-score) and an exclude-groups chip list.

Appearance covers the chart type, statistical presentation (show individual points; error bars as SEM, SD or 95% CI), per-series colour, line style and marker shape, a show-legend toggle, and per-axis label, scale (Linear / Log10 / Log2) and min/max range.

Error bars are computed from the grouped data, and only line, area and bar charts render them. There is no per-series error-bar column, no legend-position control, no gridline setting and no reference lines.

Fullscreen mode

Click the expand icon in the block header to take a chart fullscreen. On an editable chart the full config sidebar opens alongside it; the click-to-edit popover is suppressed there, since the sidebar already shows the same controls.

What's next