Skip to main content
Categorical {bars} rollups let you compare many related scalars β€” per-class accuracy, per-shard throughput, per-expert load β€” as a single distribution instead of dozens of overlapping line charts.

Producing bar charts

Log three or more sibling scalars under a common prefix and Pluto automatically offers that prefix as a {bars} rollup β€” no special SDK call needed:
Pluto detects the eval/per_class prefix and surfaces it as eval/per_class/{bars}. If you control the SDK and want true binned distributions, pluto.Histogram is the richer option.

Viewing

Bar charts live in the Distributions widget alongside numeric histograms. To add one, open Add Widget, choose the Distributions tab, and search for your <prefix>/{bars} group. Adding a Distributions widget from the Add Widget modal

View modes

Each widget renders in one of three modes. Step β€” a bar chart at the scrubbed step, bars sorted by global max value. Use the step slider below the widget to scrub through training. Bar chart in Step mode β€” one bar per category at a single step Ridgeline β€” TensorBoard-style joyplots, one ridge per step, so you can watch each category’s value evolve over training. Bar chart in Ridgeline mode β€” one ridge per step Heatmap β€” a density grid: value as color, category on the X axis and step on the Y axis. Bar chart in Heatmap mode β€” value as color A Y: step / Y: run toggle switches whether ridges and heatmap rows are stacked by step or by run.

Steps on X

In Ridgeline and Heatmap modes, the Steps on X toggle transposes the chart so training steps run along the X axis and categories stack down the Y axis. A {bars} heatmap aligns its X range with the line chart above it, so a metric and its distribution read as one coordinated view across time. Bar-chart ridgeline with Steps on X β€” steps run along the X axis The same transpose applies in Heatmap mode: Bar-chart heatmap with Steps on X

Settings

The settings popover has an Ignore outliers toggle (on by default) that clamps the shared frequency scale so one extreme step doesn’t flatten the rest into a baseline. It’s inert in Step mode, where the axis auto-scales to the current snapshot.