Skip to content

Group the plot legend by measure family - #237

Open
AnnaWegmann wants to merge 6 commits into
feature/add-timingfrom
claude/timing-legend-sort
Open

Group the plot legend by measure family#237
AnnaWegmann wants to merge 6 commits into
feature/add-timingfrom
claude/timing-legend-sort

Conversation

@AnnaWegmann

@AnnaWegmann AnnaWegmann commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

Restructures the runtime plot's legend around measure families, each with a bold heading and its own color family (members in dark-to-light shades, runtime-sorted within the group):

  • distance matrix: — the measures dominated by the full pairwise-distance computation, including row-wise reductions of it (knn, sum_bottleneck, chamfer_dist, …). They are drawn in a single color (black) because their curves coincide (pdist is 99+% of their cost); every measure keeps its own legend entry under the heading.
  • distance graph:mst_dispersion, graph_entropy, hamdiv: pairwise distances plus a graph structure built on top (MST, graph entropy, Hamiltonian tour), visible as curves above the black rope.
  • kernel matrix:vendi_score, renyi_entropy, dcscore, log_determinant: measures built on the similarity/kernel matrix.
  • UMAP projection:bins_entropy, convex_hull_volume_3d: measures that first reduce the embeddings with UMAP.
  • vector statistics:cluster_inertia, span_centroid, geo_mean_std: per-vector/summary statistics with no pairwise structure (the fast group).

Groups appear in a fixed order (as listed above, from the MEASURE_GROUPS dict) so the two distance-based families sit together; measures not present in the mapping fall under an automatic "other:" heading. Group membership and headings are plain data at the top of the script, easy to edit.

Also includes the underlying legend-sorting change: within each group, entries are ordered by runtime at the largest size the measure completed, so legend order matches line order where it matters.

🤖 Generated with Claude Code

Measures that reached the largest benchmarked size come first, slowest
on top, so the legend order matches the line order at the right edge of
the plot. Measures that stopped earlier (timeout/error) follow, ordered
by runtime at the largest size they completed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 8, 2026 10:50

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

AnnaWegmann and others added 3 commits July 8, 2026 15:13
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Groups appear in the MEASURE_GROUPS dict order (distance matrix,
distance graph, kernel matrix, UMAP projection, vector statistics) so
related families sit together; measures inside a group stay sorted by
runtime.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@AnnaWegmann AnnaWegmann changed the title Sort the plot legend by runtime at the largest completed size Group the plot legend by measure family Jul 9, 2026
AnnaWegmann and others added 2 commits July 9, 2026 10:18
knn reduces the pairwise-distance matrix row-wise (each point's k-th
smallest distance, averaged), the same shape of computation as
sum_bottleneck or chamfer_dist, and its runtime sits on the
pdist-dominated rope. The distance-graph group keeps the measures that
build a graph structure on top (MST, graph entropy, Hamiltonian tour).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Kernel-matrix measures use shades of #ff3333; the UMAP measures use
greys.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants