Skip to content

feat: add --col-axis for multi-column competitor charts (#220)#222

Open
fahimfaisaal wants to merge 2 commits into
mainfrom
feat/col-axis
Open

feat: add --col-axis for multi-column competitor charts (#220)#222
fahimfaisaal wants to merge 2 commits into
mainfrom
feat/col-axis

Conversation

@fahimfaisaal

Copy link
Copy Markdown
Member

Summary

  • Adds --col-axis / -A so grouped CSV/JSON wide tables put numeric column names on a free axis (n/x/y/z) and share one chart instead of one chart per column.
  • Expanded stats omit type (json:"type,omitempty"); the UI falls back to the dataset name (-n) for the chart title.
  • Wires col-axis through the GitHub Action, adds examples/csv/concurrency.csv, and deploys it as 10-concurrency-frameworks in the CSV examples workflow.
  • Docs: Group guide competitor section + Action inputs table.

Closes #220

Example

vizb bar examples/csv/concurrency.csv -g load -p y -A x -n "HTTP frameworks" -o out.html

Test plan

  • go test ./... (pre-commit)
  • UI vitest suite (pre-commit)
  • Unit/pipeline tests for expand, same-axis fatal, no-group warn+skip
  • Manual: concurrency.csv → single chart, no type in stats JSON, axes include inject dim
  • CI: deploy-examples-csv matrix entry builds with local vizb-binary if needed
  • Spot-check Action input col-axis forwards --col-axis

Place numeric CSV/JSON column names on a free group axis (n/x/y/z) so
competitors share one chart instead of one chart per column. Expanded
stats omit type; the UI falls back to the dataset name for the title.

Also wire col-axis through the GitHub Action, add concurrency.csv
example, and publish it via the CSV examples workflow (#220).
@fahimfaisaal fahimfaisaal changed the title feat: add --col-axis for multi-column competitor charts feat: add --col-axis for multi-column competitor charts (#220) Jul 15, 2026
@codecov-commenter

codecov-commenter commented Jul 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Export ensureInjectAxis as EnsureAxis (drop expand wrapper), drop empty
early return, and add pipeline/expand tests for non-tabular skip,
select-mode skip, z-axis validation, and nil stat values so patch
coverage hits applyColAxis and ExpandStatsOntoAxis fully.
@fahimfaisaal fahimfaisaal added this to the Release v0.16.0 milestone Jul 15, 2026
@fahimfaisaal fahimfaisaal added documentation Improvements or additions to documentation enhancement New feature or request cli Command line interface related tasks labels Jul 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cli Command line interface related tasks documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[feat]: --col-axis flag for multi-column competitor charts on a single axis

2 participants