benchopt / benchopt/benchopt

ENH allow overriding labels / display names in plots

Open
#979 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
326
Forks
74
Avg merge
47m
Merged PRs (30d)
1

Description

Sometimes a specific configuration has a *meaningful* name — matching a paper, an ablation label, a product name — that we'd want to show instead of the computed `Class[param=value]` form. It would be very useful to let a benchmark author give a custom display name to a solver/dataset/objective, either to a whole class or to a specific parametrized configuration, while the tooltip still exposes the real parameters and docstring.

## Key questions

- **Where the customization lives** — a benchmark config entry (e.g. `benchopt.yml`, a `plot_labels: {name: display}` map) and/or a dedicated method/attribute on `ParametrizedNameMixin`.
- **Granularity** — per class, per config (specific parameter values), or a *template* over the parameters.
- **Where it's applied** — probably at the same spot as the short labels, so overrides win uniformly across selectors, legend, table, and matplotlib.
- **Reconcile with `parameter_template`** — `ParametrizedNameMixin` already has a `parameter_template` class attribute (e.g. `parameter_template = 'n={n}'`) that overrides the default `key=value` in `__repr__`, but it changes the *canonical name* (persisted identity), not just the display label. Decide whether to lean on it or add a display-only override that leaves the persisted name untouched, so the two don't diverge confusingly.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing how short labels are generated and applied across selectors, legends, tables, and matplotlib. Inspect benchmark configuration such as benchopt.yml and ParametrizedNameMixin, including its parameter_template attribute. Done means agreeing on the customization location and granularity, applying display names consistently, and keeping tooltip details and persisted identities clear.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.