Group the plot legend by measure family - #237
Open
AnnaWegmann wants to merge 6 commits into
Open
Conversation
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>
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>
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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):
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.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.vendi_score,renyi_entropy,dcscore,log_determinant: measures built on the similarity/kernel matrix.bins_entropy,convex_hull_volume_3d: measures that first reduce the embeddings with UMAP.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_GROUPSdict) 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