vizb chart subcommands
Chart subcommands (vizb bar, vizb line, vizb scatter, vizb pie, vizb heatmap, vizb radar) generate one chart at a time. They produce the same output as the root command with --charts limited to that type, but accept only the flags valid for the chart — unsupported flags fail fast.
Use a subcommand for a single chart; use the root command with --charts for multiple chart types from one dataset.
vizb <chart> [target] [flags]<chart> is one of bar, line, scatter, pie, heatmap, radar. Output is HTML by default, or JSON when -o ends in .json (same rules as the root command).
vizb bar data.csv -g impl,size -p n,x -o bar.htmlvizb pie data.csv -g impl -o pie.htmlgo test -bench . | vizb line -p n/y -o line.htmlShared flags
Section titled “Shared flags”Every chart subcommand accepts the common data, grouping, and metadata flags:
| Flag | Short | Default | Description |
|---|---|---|---|
--output |
-o |
(stdout) | Output file path. .json → JSON, else → HTML |
--parser |
-P |
auto |
Parser: auto (detect), go, js:tinybench, js:vitest, rs:criterion, rs:divan, csv, json |
--name |
-n |
Comparisons |
Dataset name |
--description |
-d |
"" |
Dataset description |
--tag |
-t |
"" |
Tag identifier for release tracking |
--id |
"" |
Stable dataset id for ?id= deep links in the HTML UI |
|
--group-pattern |
-p |
x |
Pattern-based grouping (n/x/y/z with separators matching -g for CSV/JSON) |
--group-regex |
-r |
"" |
Regex-based grouping (named captures) |
--group |
-g |
"" |
Names each dimension in --group-pattern order; csv/json column names must use matching separators in -p |
--select |
"" |
csv/json only: select value columns; optional rename with {label} |
|
--filter |
-f |
"" |
Regex to include only matching rows (CSV/JSON: --group label) or benchmark names |
--sort |
-s |
"" |
Sort order: asc or desc |
--swap |
"" |
Axis permutation override, e.g. yx, yxn |
|
--show-labels |
-l |
false |
Show value labels on the chart |
--mem-unit |
-M |
B |
Memory unit: b, B, KB, MB, GB |
--time-unit |
-T |
ns |
Time unit: ns, us, ms, s |
--number-unit |
-N |
"" |
Number unit: K, M, B, T |
Chart-specific flags
Section titled “Chart-specific flags”| Flag | bar |
line |
scatter |
pie |
heatmap |
radar |
Description |
|---|---|---|---|---|---|---|---|
--scale (-S) |
✅ | ✅ | ✅ | — | — | — | Value scale: linear or log |
--3d |
✅ | ✅ | ✅ | — | — | — | Pseudo-3D for grouped x+y data (y → depth, metric → height) |
--3d-visualmap |
✅ | ✅ | ✅ | — | — | — | Color 3D geometry by metric value |
--visualmap |
— | — | ✅ | — | — | — | Color 2D scatter points by metric (off by default) |
--3d-rotate |
✅ | ✅ | ✅ | — | — | — | Auto-rotate the 3D scene (only meaningful with 3D data) |
bar, line, and scatter render in 3D when the data has a z dimension (-p n/x/y/z) or auto-value detects 3+ numeric columns. Pie, heatmap, and radar are 2D-only for those flags — passing an unsupported flag is an error: |
vizb pie data.csv --scale log # Error: unknown flag: --scaleExamples
Section titled “Examples”# 3D bar with log scale and auto-rotationvizb bar data.csv -g category,metric,group -p n,x,y,z --scale log --3d-rotate -o bar3d.html
# Pie with value labels, ascending sortvizb pie data.csv -g impl --sort asc --show-labels -o pie.html
# Line from Go benchmarks via stdin, swapping axesgo test -bench . | vizb line -p n/y --swap yn -o line.html
# Scatter from all-numeric columns (auto-value)vizb scatter data.csv -o scatter.html
# JSON output for later merging / re-renderingvizb radar data.csv -g impl -o radar.json