From 832d8c6530a52217ab6e54ea19e1303f7bfd4dff Mon Sep 17 00:00:00 2001 From: Sriman Selvakumaran Date: Fri, 24 Jul 2026 16:13:32 -0700 Subject: [PATCH 1/2] Match Matplotlib best-legend placement `legend(loc="best")` scored its candidate corners against a linear guess at the legend's size: `0.10 + 0.07 * rows` tall by `0.12 + 0.03 * max_label_len` wide. On the pdsh births figure that is a 0.30 x 0.17 box against a real 0.097 x 0.083 -- 3x too wide, 2x too tall. The inflated upper-right candidate reached back to x=0.70 and down to y=0.83, swallowing the late-summer peak (21 sampled vertices), while the inflated upper-left candidate stopped at x=0.30 and stayed empty. So upper left won a corner Matplotlib gives to upper right at badness 0. Score the box the exporters actually lay out instead. `_legend_layout` already derives it from the legend font size and the real label extents, so `_legend_footprint` reuses that rather than adding a second estimator; when #248's DejaVu glyph advances reach this stack the scoring inherits them for free. Three further departures from `Legend._find_best_position` came out of comparing against it directly: - Candidates were scored against the *raw data extent*, not the displayed view. The engine pads an autoranged view, so the corner a mark reaches on screen is not the corner it reaches in data space. Resolve `best` after the figure is built and ask it for its real ranges. - A 0.02 tie band over *mean fractional* occupancy flattened decisive gaps into ties. Matplotlib compares raw integer counts: it stops at the first empty candidate and prefers the lower location code otherwise. Count vertices, sum over series so a long series outweighs a short one, and keep the first minimum. - `borderaxespad` never reached scoring, so every candidate sat flush against the plot edge where Matplotlib insets the container on all four sides. Containment is now strict and unclipped, mirroring `Bbox.count_contains`; a point outside the view is outside every candidate rather than pinned to an edge. Measured against matplotlib 3.11.1 on the ten shapes in `tests/pyplot/test_best_legend_placement.py`: 7/10 match, from 6/10. Three shapes are fixed and two regressed -- those two matched by accident, because an oversized box happened to disqualify the same corner Matplotlib rejects for a real reason. The residual is dominated by xy's plot box being larger than Matplotlib's axes rect (564x428 against 496x369.6 at 640x480); substituting Matplotlib's rect lifts parity to 9/10, which `test_residual_divergence_is_attributable_to_the_plot_rect` pins. Placement is deliberately not scored against a geometry the renderers do not use. `test_center_right_legend_loc_reaches_spec` asserted the shim's own answer, not Matplotlib's: it expected center right where matplotlib 3.11.1 scores center left 20 against center right 36. Renamed and corrected. Separately, legend placement resolved `loc` by substring-matching "left"/"right" and "upper"/"lower", so a string matching neither half -- a typo, or an unresolved literal `"best"` -- silently produced a *centered* legend. One canonical table (`_validate.LEGEND_LOCATIONS`) now backs both the public `legend()` component and the shared static geometry, and anything outside it raises. This is a core-surface change: `xy.legend(loc=...)` outside pyplot now rejects an unrecognized location instead of centering it. Valid names keep their exact geometry, which `test_every_valid_loc_places_the_box_where_it_used_to` asserts against the plot box. --- python/xy/_svg.py | 26 +- python/xy/_validate.py | 45 +++ python/xy/components.py | 7 +- python/xy/pyplot/_axes.py | 273 +++++++++---- spec/api/styling.md | 47 +++ spec/matplotlib/compat.md | 2 +- tests/pyplot/test_best_legend_placement.py | 447 +++++++++++++++++++++ tests/pyplot/test_grid_legend_contracts.py | 11 +- 8 files changed, 763 insertions(+), 95 deletions(-) create mode 100644 tests/pyplot/test_best_legend_placement.py diff --git a/python/xy/_svg.py b/python/xy/_svg.py index 4362f34e..00418989 100644 --- a/python/xy/_svg.py +++ b/python/xy/_svg.py @@ -30,6 +30,7 @@ from . import _native, _paint, _png from ._arrowgeom import arrow_shapes as _arrow_shapes +from ._validate import legend_loc_anchor as _legend_loc_anchor from .config import DEFAULT_PALETTE @@ -2784,12 +2785,15 @@ def _legend_layout(named: list[dict], plot: dict, options: dict) -> dict[str, An ) loc = options.get("loc") or "upper right" + # Resolve through the canonical table rather than by substring-matching + # "left"/"right" and "upper"/"lower" out of `loc`: an unresolved string such + # as a literal "best" matches neither half, and used to fall through to the + # centered branch and silently misplace the legend instead of erroring. + hx, vy = _legend_loc_anchor(loc) anchor = options.get("anchor") if anchor and len(anchor) in (2, 4): ax, ay = float(anchor[0]), float(anchor[1]) aw, ah = (0.0, 0.0) if len(anchor) == 2 else (float(anchor[2]), float(anchor[3])) - hx = 0.0 if "left" in loc else 1.0 if "right" in loc else 0.5 - vy = 0.0 if "lower" in loc else 1.0 if "upper" in loc else 0.5 target_x = float(plot["x"]) + (ax + hx * aw) * float(plot["w"]) target_y = float(plot["y"]) + (1.0 - ay - vy * ah) * float(plot["h"]) x = target_x - hx * box_w @@ -2800,18 +2804,12 @@ def _legend_layout(named: list[dict], plot: dict, options: dict) -> dict[str, An # moved upward from its anchor and an "upper" legend moves downward. y += border_axes_pad if vy == 1.0 else -border_axes_pad if vy == 0.0 else 0.0 else: - if "left" in loc: - x = float(plot["x"]) + inset - elif "right" in loc: - x = float(plot["x"]) + float(plot["w"]) - box_w - inset - else: - x = float(plot["x"]) + (float(plot["w"]) - box_w) / 2 - if "upper" in loc: - y = float(plot["y"]) + inset - elif "lower" in loc: - y = float(plot["y"]) + float(plot["h"]) - box_h - inset - else: - y = float(plot["y"]) + (float(plot["h"]) - box_h) / 2 + # `hx`/`vy` slide the box across the inset plot box: hx=0 is flush left, + # hx=1 flush right, hx=.5 centered (and identically for vy, which points + # up while SVG y points down). Algebraically identical to the previous + # per-branch arithmetic for all ten valid location names. + x = float(plot["x"]) + inset + hx * (float(plot["w"]) - 2 * inset - box_w) + y = float(plot["y"]) + inset + (1.0 - vy) * (float(plot["h"]) - 2 * inset - box_h) x = min( max(x, float(plot["x"]) + inset), float(plot["x"]) + float(plot["w"]) - box_w - inset, diff --git a/python/xy/_validate.py b/python/xy/_validate.py index bfee7320..047ff815 100644 --- a/python/xy/_validate.py +++ b/python/xy/_validate.py @@ -41,6 +41,24 @@ # across the plot box in screen directions. Angles and corner keywords are # rejected — GPU marks get the four axis-aligned directions. _GRADIENT_DIRS = {"to top": "up", "to bottom": "down", "to left": "left", "to right": "right"} +# Matplotlib's ten anchored legend location names (`Legend.codes` 1..10), mapped +# to the (horizontal, vertical) anchor fractions each one names inside the plot +# box. Code 5 ("right") and code 7 ("center right") deliberately share an +# anchor: matplotlib resolves both through offsetbox's 'E' corner. `"best"` is +# *not* a member — it is a request to choose one of these, and the pyplot shim +# must resolve it before the wire. +LEGEND_LOCATIONS: dict[str, tuple[float, float]] = { + "upper right": (1.0, 1.0), + "upper left": (0.0, 1.0), + "lower left": (0.0, 0.0), + "lower right": (1.0, 0.0), + "right": (1.0, 0.5), + "center left": (0.0, 0.5), + "center right": (1.0, 0.5), + "lower center": (0.5, 0.0), + "upper center": (0.5, 1.0), + "center": (0.5, 0.5), +} def finite_scalar(value: Any, label: str) -> float: @@ -168,6 +186,33 @@ def axis_tick_label_anchor(value: Any, label: str) -> Optional[str]: return normalized +def legend_loc(value: Any, label: str) -> Optional[str]: + """One of the ten anchored legend location names (or None for the default). + + Placement used to be derived by substring-matching ``"left"``/``"right"`` + and ``"upper"``/``"lower"`` out of whatever string reached the renderer, so + a name that matched neither half — a typo, or an unresolved ``"best"`` that + slipped past the pyplot shim — silently produced a centered legend instead + of an error. Resolving against this table makes that state unrepresentable. + """ + if value is None: + return None + if not isinstance(value, str) or value not in LEGEND_LOCATIONS: + raise ValueError(f"{label} must be one of {sorted(LEGEND_LOCATIONS)}") + return value + + +def legend_loc_anchor(value: Any, label: str = "legend loc") -> tuple[float, float]: + """``(horizontal, vertical)`` anchor fractions for a legend location name. + + ``1.0`` is the right/top edge of the container, ``0.0`` the left/bottom. + """ + try: + return LEGEND_LOCATIONS[value] + except (KeyError, TypeError): + raise ValueError(f"{label} must be one of {sorted(LEGEND_LOCATIONS)}") from None + + def string_mapping(value: dict[str, Any], label: str) -> dict[str, str]: if not isinstance(value, dict): raise ValueError(f"{label} must be a dict[str, str]") diff --git a/python/xy/components.py b/python/xy/components.py index fc7acaba..088fcf10 100644 --- a/python/xy/components.py +++ b/python/xy/components.py @@ -2383,7 +2383,10 @@ def legend( Args: *children: Optional opaque replacement content. show: Whether to display the legend. - loc: Legend placement within or around the plot. + loc: Legend placement within or around the plot: one of Matplotlib's + ten anchored location names (``"upper right"``, ``"center"``, ...). + ``"best"`` is not accepted here — placement is not computed at this + layer, so a caller wanting it must resolve it to a name first. anchor: Two- or four-value normalized plot-coordinate anchor. ncols: Number of legend columns. title: Optional legend title. @@ -2400,7 +2403,7 @@ def legend( raise ValueError("legend anchor must contain 2 or 4 finite numbers") return Legend( show=_strict_bool(show, "legend show"), - loc=_optional_string(loc, "legend loc"), + loc=_validate.legend_loc(loc, "legend loc"), anchor=anchor, ncols=_optional_positive_int(ncols, "legend ncols") or 1, title=_optional_string(title, "legend title"), diff --git a/python/xy/pyplot/_axes.py b/python/xy/pyplot/_axes.py index 886e3aee..41255db5 100644 --- a/python/xy/pyplot/_axes.py +++ b/python/xy/pyplot/_axes.py @@ -25,6 +25,7 @@ import xy from .._typing import ArrayLike, ColorLike, ColorsLike, LimitsLike, Scalar +from .._validate import legend_loc_anchor as _legend_loc_anchor from ._artists import ( Artist, AxesImage, @@ -61,6 +62,33 @@ } _MPL_GRID_COLOR = "#b0b0b0" +# Matplotlib's candidate order for ``loc="best"``: `Legend.codes` 1..10, scored +# in order, first zero-badness box wins, lower code wins a tie. Code 5 +# ("right") anchors identically to code 7 ("center right") — offsetbox resolves +# both to its 'E' corner — so the pair is folded onto the single canonical name +# at code 5's position. The order `min()` observes is unchanged and no redundant +# box is scored. Do not reorder: this *is* the tie-break contract. +_BEST_LOC_ORDER = ( + "upper right", + "upper left", + "lower left", + "lower right", + "center right", + "center left", + "lower center", + "upper center", + "center", +) +# Per-series vertex budget for occupancy scoring (§28: decimation is specified, +# never silent). Matplotlib counts every vertex and says so in its own +# `loc="best"` slowness warning; the shim strides instead and weights the count +# back up, so relative badness survives but a lone excursion into an otherwise +# empty candidate box can be missed on a series far longer than this. +_BEST_LOC_SAMPLE = 4096 +# Plot box of the default 640x480 figure, for direct `_best_legend_loc` callers +# that have no chart geometry to hand. +_DEFAULT_BEST_PLOT_SIZE = (564.0, 428.0) + # Theme/axis children are immutable declarative specs, so identical ones are # shared across charts — the theme's CSS tokens validate through the native # core once, not once per figure (the perf guardrail in tests/pyplot counts @@ -4466,19 +4494,122 @@ def _chart_children(self) -> list[Any]: children.append(xy.text(x, y, *e["args"][2:], **text_kw)) return children + def _plot_rect_px( + self, + width: int, + height: int, + padding: Optional[Sequence[float]] = None, + x_side: Optional[str] = None, + ) -> tuple[float, float]: + """Estimated ``(w, h)`` of the plot box in pixels. + + Both the tick-space heuristic and ``best`` legend placement have to know + how large the plot box will be, and both run before the chart exists, so + they share this one padding model instead of estimating it twice. + """ + compact = width < 520 + if padding is None: + top, right, bottom, left = ( + (6.0, 8.0, 36.0, 46.0) if compact else (10.0, 14.0, 42.0, 62.0) + ) + else: + top, right, bottom, left = map(float, padding) + if self._title: + top += 26.0 if compact else 30.0 + if x_side == "top": + top += 26.0 if compact else 32.0 + return ( + max(40.0, float(width) - left - right), + max(40.0, float(height) - top - bottom), + ) + + def _displayed_ranges( + self, + figure: Any, + x_props: dict[str, Any], + y_props: dict[str, Any], + ) -> tuple[Optional[tuple[float, float]], Optional[tuple[float, float]]]: + """The x/y view the built figure will actually render. + + ``best`` placement has to score against the *displayed* limits, not the + raw data extent: an autoranged view is padded by the engine, so the + corner a mark reaches on screen is not the corner it reaches in data + space. The built figure already knows both (an explicit domain is + returned verbatim), so ask it rather than re-deriving the padding. + """ + try: + return tuple(figure.x_range()), tuple(figure.y_range()) # type: ignore[return-value] + except (ValueError, TypeError): + # A log axis with no positive value cannot report a range; the + # declared domains are the best available fallback. + return x_props.get("domain"), y_props.get("domain") + + def _legend_footprint( + self, + legend_options: Optional[dict[str, Any]], + items: Optional[list[dict[str, Any]]], + plot_size: tuple[float, float], + ) -> tuple[float, float, float, float]: + """Measured legend box and border inset, as fractions of the plot box. + + Returns ``(box_w, box_h, pad_x, pad_y)``. The box comes from + ``_svg._legend_layout`` — the *same* geometry the SVG and raster + exporters lay the legend out with, derived from the legend font size and + the real label extents — so ``best`` scores the box that actually gets + drawn. ``pad_*`` is Matplotlib's ``borderaxespad``, which insets the + container every candidate is anchored inside. + """ + from .._svg import _legend_layout + + options = dict(legend_options or {}) + # Size is independent of placement, and placement is exactly what has + # not been decided yet — drop both keys so the layout's own resolver is + # never handed the unresolved "best" we are here to replace. + options.pop("loc", None) + options.pop("anchor", None) + if items is None: + items = [ + {"name": str((entry.get("kwargs") or {}).get("name"))} + for entry in self._entries + if (entry.get("kwargs") or {}).get("name") + ] + # A legend with no labelled entry still has a frame; measure it as one + # empty row rather than dividing by zero inside the layout. + measured = _legend_layout( + items or [{"name": ""}], + {"x": 0.0, "y": 0.0, "w": plot_size[0], "h": plot_size[1]}, + options, + ) + border_pad = max(0.0, float(options.get("border_pad") or 0.0)) + return ( + measured["box_w"] / plot_size[0], + measured["box_h"] / plot_size[1], + border_pad / plot_size[0], + border_pad / plot_size[1], + ) + def _best_legend_loc( self, x_domain: Optional[tuple[float, float]] = None, y_domain: Optional[tuple[float, float]] = None, + *, + legend_options: Optional[dict[str, Any]] = None, + items: Optional[list[dict[str, Any]]] = None, + plot_size: tuple[float, float] = _DEFAULT_BEST_PLOT_SIZE, ) -> str: - """Choose the least occupied corner using bounded data-space samples. - - Matplotlib tests artist extents against several candidate boxes and - keeps the first candidate (upper right) on ties. The shim has no Artist - layout graph, but its canonical entry arrays are enough to make the - same decision: for each corner, count sampled marks that fall inside a - legend-box-sized region there — not the whole quadrant, so a curve - crossing the middle no longer taints every corner. The domains passed + """Choose the least occupied candidate box, as Matplotlib does. + + Matplotlib's ``Legend._find_best_position`` walks location codes 1..10 + in order, scores each anchored box by how many artist vertices it + contains, stops at the first box scoring zero, and breaks ties by + preferring the lower code. The shim has no Artist layout graph, but its + canonical entry arrays plus the *measured* legend geometry are enough to + make the same decision. + + The footprint being measured rather than estimated is the whole point: + a linear guess from row count and label length ran ~3x too wide and ~2x + too tall, which tainted corners the real legend never reaches and threw + the choice to a different corner than Matplotlib's. The domains passed in are the *displayed* limits (after equal-aspect expansion), which is what decides whether the data actually reaches a corner. """ @@ -4493,38 +4624,18 @@ def _best_legend_loc( return "upper right" if xhi <= xlo or yhi <= ylo: return "upper right" - # Fractional footprint of the legend box, grown by row count and the - # longest label so a crowded legend guards a larger corner region. - labels = [ - str(entry.get("kwargs", {}).get("name", "")) - for entry in self._entries - if entry.get("kwargs", {}).get("name") - ] - rows = max(1, len(labels)) - max_len = max((len(text) for text in labels), default=4) - box_h = min(0.6, 0.10 + 0.07 * rows) - box_w = min(0.6, 0.12 + 0.03 * max_len) - # Every Matplotlib candidate box, in Matplotlib's own preference order - # (corners, then the mid-edges, then dead center) so min() keeps the - # first on ties. Each tuple is (name, x_lo, x_hi, y_lo, y_hi) in the - # normalized [0, 1] plot box with y pointing up. Including the centered - # edges is what lets a full-amplitude oscillation park the legend on the - # sparse zero-crossing band, exactly like Matplotlib. ('right' is code 5 - # in Matplotlib and aliases 'center right'; keeping the single canonical - # name here preserves the tie order without a redundant candidate.) - cx_lo, cx_hi = 0.5 - box_w / 2.0, 0.5 + box_w / 2.0 - cy_lo, cy_hi = 0.5 - box_h / 2.0, 0.5 + box_h / 2.0 - candidates = ( - ("upper right", 1.0 - box_w, 1.0, 1.0 - box_h, 1.0), - ("upper left", 0.0, box_w, 1.0 - box_h, 1.0), - ("lower left", 0.0, box_w, 0.0, box_h), - ("lower right", 1.0 - box_w, 1.0, 0.0, box_h), - ("center right", 1.0 - box_w, 1.0, cy_lo, cy_hi), - ("center left", 0.0, box_w, cy_lo, cy_hi), - ("lower center", cx_lo, cx_hi, 0.0, box_h), - ("upper center", cx_lo, cx_hi, 1.0 - box_h, 1.0), - ("center", cx_lo, cx_hi, cy_lo, cy_hi), - ) + box_w, box_h, pad_x, pad_y = self._legend_footprint(legend_options, items, plot_size) + # Matplotlib anchors every candidate inside the plot box inset by + # borderaxespad on all four sides (offsetbox._get_anchored_bbox), so the + # travel available to the box is the inset span minus the box itself. + span_x = max(0.0, 1.0 - 2.0 * pad_x - box_w) + span_y = max(0.0, 1.0 - 2.0 * pad_y - box_h) + candidates = [] + for name in _BEST_LOC_ORDER: + hx, vy = _legend_loc_anchor(name) + x_lo = pad_x + hx * span_x + y_lo = pad_y + vy * span_y + candidates.append((name, x_lo, x_lo + box_w, y_lo, y_lo + box_h)) scores = {name: 0.0 for name, *_ in candidates} entries_used = 0 x_reverse = bool(self._axis["x"].get("reverse")) @@ -4545,7 +4656,9 @@ def _best_legend_loc( except (TypeError, ValueError): continue xv, yv = xv.reshape(-1), yv.reshape(-1) - if len(xv) > 4096: + total = len(xv) + sampled = total + if total > _BEST_LOC_SAMPLE: # Stride down before the finite scan: occupancy scoring is # already sampled, so the full-array isfinite pass was pure # O(n) per-build cost on large legended series. Sparse finite @@ -4553,39 +4666,40 @@ def _best_legend_loc( # a sample with no finite pair falls back to the full array — # a series the old full-array pass scored still scores instead # of vanishing from placement. - strided = np.linspace(0, len(xv) - 1, 4096, dtype=np.intp) + strided = np.linspace(0, total - 1, _BEST_LOC_SAMPLE, dtype=np.intp) sampled_x, sampled_y = xv[strided], yv[strided] if (np.isfinite(sampled_x) & np.isfinite(sampled_y)).any(): xv, yv = sampled_x, sampled_y + sampled = _BEST_LOC_SAMPLE finite = np.flatnonzero(np.isfinite(xv) & np.isfinite(yv)) - if len(finite) > 512: - finite = finite[np.linspace(0, len(finite) - 1, 512, dtype=np.intp)] if not len(finite): continue - xn = np.clip((xv[finite] - xlo) / (xhi - xlo), 0.0, 1.0) - yn = np.clip((yv[finite] - ylo) / (yhi - ylo), 0.0, 1.0) + # Unclipped: a point outside the view is outside every candidate + # box, exactly as Matplotlib sees it in display space. Clipping used + # to pin such points onto the nearest edge and count them there. + xn = (xv[finite] - xlo) / (xhi - xlo) + yn = (yv[finite] - ylo) / (yhi - ylo) if x_reverse: xn = 1.0 - xn if y_reverse: yn = 1.0 - yn - n = float(len(finite)) + # Matplotlib's badness is a raw vertex count summed over artists, so + # a long series legitimately outweighs a short one. Scale a strided + # series back to its true length to preserve that weighting. + weight = total / float(sampled) entries_used += 1 for name, xl, xh, yl, yh in candidates: - inside = (xn >= xl) & (xn <= xh) & (yn >= yl) & (yn <= yh) - scores[name] += float(np.count_nonzero(inside)) / n + # Strict, mirroring Bbox.count_contains. + inside = (xn > xl) & (xn < xh) & (yn > yl) & (yn < yh) + scores[name] += float(np.count_nonzero(inside)) * weight if not entries_used: return "upper right" - # Normalize to a mean occupancy in [0, 1] so the tolerance below is - # independent of series count. Matplotlib's integer badness makes - # near-equal boxes exact ties broken by candidate order; our continuous - # metric would otherwise let a sub-percent sampling difference override - # that order (e.g. picking "center left" over "center right" on a - # symmetric oscillation). Treat boxes within a small band as tied and - # keep the first — which is Matplotlib's preference. - for name in scores: - scores[name] /= entries_used + # Matplotlib compares exact integer badness and prefers the lower code + # on a tie; dict order here *is* that code order, so the first minimum + # wins. The only slack absorbs the float stride weight above — an + # unsampled series scores whole numbers and ties exactly, as it must. best = min(scores.values()) - return next(name for name, score in scores.items() if score <= best + 0.02) + return next(name for name, score in scores.items() if score <= best * (1.0 + 1e-9)) def _build_chart(self, width: int, height: int) -> Any: if self._y2_of is not None: @@ -4751,14 +4865,22 @@ def _build_chart(self, width: int, height: int) -> Any: y2_props = {k: v for k, v in self._axis["y2"].items() if v is not None} self._apply_tickers("y2", y2_props, auto_tick_counts["y"]) children.append(xy.y_axis(id="y2", side="right", **y2_props)) + # The plot box `best` scores its candidate corners inside. Resolved + # padding included, so an outside-anchored legend's reservation (above) + # is already accounted for. + best_plot_size = self._plot_rect_px(width, height, chart_padding, x_props.get("side")) + legend_needs_best = False if self._legend and self._legend_artist is not None: children.append(xy.legend(show=False)) elif self._legend: legend_options = dict(self._legend_options) if legend_options.get("loc") in (None, "best"): - legend_options["loc"] = self._best_legend_loc( - x_props.get("domain"), y_props.get("domain") - ) + # Left unresolved here on purpose and filled in below, once the + # built figure can report the view it will actually display: + # `best` is a question about which corner the marks reach on + # screen, and an autoranged view is padded by the engine. + legend_needs_best = True + legend_options["loc"] = None # ``border_pad`` is an internal pixel-resolved Matplotlib wire # option; core's public legend component intentionally remains in # its declarative units. It is restored on the built Figure below. @@ -4793,6 +4915,13 @@ def _build_chart(self, width: int, height: int) -> Any: core_figure = self._chart.figure() if self._legend and self._legend_artist is None and "border_pad" in self._legend_options: core_figure.legend_options["border_pad"] = self._legend_options["border_pad"] + best_ranges = self._displayed_ranges(core_figure, x_props, y_props) + if legend_needs_best: + core_figure.legend_options["loc"] = self._best_legend_loc( + *best_ranges, + legend_options=self._legend_options, + plot_size=best_plot_size, + ) core_figure.frame_sides = [ side for side in ("left", "bottom", "top", "right") if side not in self._hidden_spines ] @@ -4813,7 +4942,10 @@ def _build_chart(self, width: int, height: int) -> Any: spec = leg.spec() if spec.get("loc") in (None, "best"): spec["loc"] = self._best_legend_loc( - x_props.get("domain"), y_props.get("domain") + *best_ranges, + legend_options=spec, + items=list(spec.get("items") or []) or None, + plot_size=best_plot_size, ) extras.append(spec) core_figure.extra_legends = extras @@ -4827,18 +4959,9 @@ def _auto_tick_counts( ) -> dict[str, int]: """Matplotlib's ``Axis.get_tick_space()`` per axis: how many tick intervals fit the estimated plot rect at the tick-label font size.""" - compact = width < 520 - if self._padding is None: - left, right = (46.0, 8.0) if compact else (62.0, 14.0) - top, bottom = (6.0, 36.0) if compact else (10.0, 42.0) - else: - top, right, bottom, left = map(float, self._padding) - if self._title: - top += 26.0 if compact else 30.0 - if x_props.get("side") == "top": - top += 26.0 if compact else 32.0 - plot_width = max(40.0, float(width) - left - right) - plot_height = max(40.0, float(height) - top - bottom) + plot_width, plot_height = self._plot_rect_px( + width, height, self._padding, x_props.get("side") + ) dpi = float(self.figure._dpi if self.figure._dpi is not None else rcParams["figure.dpi"]) base = float(rcParams["font.size"]) x_font = _font_size_points(rcParams["xtick.labelsize"], base) diff --git a/spec/api/styling.md b/spec/api/styling.md index eaf5d428..efb23b66 100644 --- a/spec/api/styling.md +++ b/spec/api/styling.md @@ -274,6 +274,53 @@ shortened. It also consumes one extra `1.03 + labelspacing` row of height, which can push the last entry out of a short plot; a plot with room for no entry at all renders neither frame nor title. +### Legend placement + +`loc` is one of Matplotlib's ten anchored location names — `upper right`, +`upper left`, `lower left`, `lower right`, `right`, `center left`, +`center right`, `lower center`, `upper center`, `center` — resolved through one +table (`_validate.LEGEND_LOCATIONS`) shared by the public `legend()` component +and the static exporters. `right` and `center right` name the same anchor, as +they do in Matplotlib's offsetbox. Anything else, **including a literal +`"best"`**, raises: placement used to be derived by substring-matching `left`/ +`right` and `upper`/`lower` out of whatever string arrived, so a name matching +neither half silently produced a *centered* legend instead of an error. + +`"best"` is a **pyplot-only** concept and is never on the wire. The shim +resolves it to one of the ten names during figure build, mirroring +Matplotlib's `Legend._find_best_position`: + +- candidates are scored in Matplotlib's location-code order (1..10, with code 5 + `right` folded onto its identical code-7 anchor), the first empty one wins, + and ties go to the earlier candidate — this order *is* the tie-break contract; +- each candidate is the **measured** legend box from `_legend_layout` above, as + a fraction of the plot box, not an estimate from row count and label length; +- the box is anchored inside the plot box inset by `borderaxespad` on all four + sides, as Matplotlib's `offsetbox._get_anchored_bbox` pads its container; +- badness is a raw count of entry vertices strictly inside the box, summed over + series so a long series outweighs a short one, scored against the **displayed** + view (an autoranged view is padded by the engine, so the corner a mark reaches + on screen is not the corner it reaches in data space). + +Known departures from Matplotlib's badness, in descending impact: + +- **Plot rect.** The measured box is pixel-accurate against Matplotlib (a + one-row box is 25.4 px in both), but xy's plot box is larger than + Matplotlib's default axes rect (564×428 against 496×369.6 for a 640×480 + figure), so the same box is a smaller *fraction* and candidates decided by + one or two vertices can fall the other way. This resolves as the two + geometries converge; nothing in placement needs changing for it. +- **Text and patch extents.** Matplotlib 3.11 counts `Text` and `Rectangle` + bounding-box *overlaps*; the shim counts an annotation's or bar's anchor + point as a single vertex, and skips anchors whose coordinate is a date string. +- **Segment crossings.** Matplotlib adds 1 per line whose path crosses a + candidate box even with no vertex inside it; the shim counts vertices only. +- **Decimation** (§28). Occupancy is scored from at most 4096 strided vertices + per series, weighted back up to the true length so relative badness survives. + A lone excursion into an otherwise empty box can be missed on a series far + longer than that; Matplotlib counts every vertex and warns that `loc="best"` + is slow for exactly this reason. + ## Why your styles always win The client injects one stylesheet of *visual* defaults (background, color, diff --git a/spec/matplotlib/compat.md b/spec/matplotlib/compat.md index c11fb4fd..c8a040e1 100644 --- a/spec/matplotlib/compat.md +++ b/spec/matplotlib/compat.md @@ -67,7 +67,7 @@ dependency-free `triangles=` shorthand into Matplotlib's equivalent | `axhline` / `axvline` / `axhspan` / `axvspan`, `text`, `annotate`, `table` | Fractional span bounds plus data/axes/figure text coordinates are supported. `annotate(arrowprops=)` draws real arrows in every output: offset-point text becomes an engine callout (arrow pinned from label to point across zoom), data-coordinate text an arrow annotation; date-string coordinates convert on datetime axes. Arrowstyles map to head/tail shapes (`->` open V, `-\|>` filled, `\|-\|`/brackets bar caps, `fancy`/`simple`/`wedge` filled tapered shafts sized by the text's mutation scale) and `connectionstyle` arc3/angle3/angle become quadratic curves (corner rounding approximated); `alpha` dims the arrow only. `bbox=` becomes label box styles (fill/edge/round corners/`pad`) on the HTML label; static exporters keep the plain label. Text is unclipped like Matplotlib (`clip_on=False`), and axes-fraction text right of the axes box (x > 1, e.g. seaborn-style row titles) reserves right margin in every exporter. `rotation=90/270` renders vertical text in browser, PNG, and SVG with Matplotlib's rotate-then-align box semantics; other angles rotate in browser and SVG output only (native PNG draws them horizontally) | | `from xy.pyplot import FacetGrid` (seaborn-shaped) | Row/column small multiples with seaborn's `map` contract (subset → activate panel → call the pyplot function), shared domains, edge-only axis labels, top-row column titles, and `margin_titles=True` rotated row titles. `hue=`/`palette=`, `col_wrap=`, `map_dataframe`, and `add_legend` fail loudly | | `xlabel` / `ylabel` / `title` / `suptitle` | Suptitles are retained in HTML and multi-panel PNG/SVG | -| `legend()` | `loc`, columns, title/font size/colors, frame styling, `borderpad`, `labelspacing`, `fancybox`, `framealpha`, and `shadow` are retained across browser and static output. `loc='best'` chooses the least occupied corner from bounded samples of the current data | +| `legend()` | `loc`, columns, title/font size/colors, frame styling, `borderpad`, `labelspacing`, `borderaxespad`, `fancybox`, `framealpha`, and `shadow` are retained across browser and static output. `loc='best'` reproduces `Legend._find_best_position`: candidates in Matplotlib's location-code order, scored by vertex occupancy of the **measured** legend box inset by `borderaxespad`, first empty one wins, ties to the earlier candidate. Measured parity on the shape set in `tests/pyplot/test_best_legend_placement.py` is 7/10; the residual is dominated by xy's plot rect being larger than Matplotlib's axes rect, and substituting Matplotlib's rect lifts it to 9/10. Departures (text/patch extents counted as anchor points, no segment-crossing term, 4096-vertex decimation) are enumerated in `spec/api/styling.md` § Legend placement. An unresolved or misspelled `loc` raises instead of silently centering | | `grid(True/False)` | toggles the grid via the theme | | `xlim` / `ylim`, axis scales, `invert_xaxis/yaxis` | linear/log are native; symlog/logit/asinh use dependency-free monotone data transforms with inverse limit/tick semantics. Automatic linear ticks include Matplotlib's 2.5 step and use uniform decimal padding across a tick set; locations refresh as data arrives. Artist `get_data()` reflects the transformed space; logit masks values at/outside (0, 1) | | `set_major_locator` / `set_major_formatter`, `plt.NullLocator/FixedLocator/MultipleLocator/MaxNLocator/LinearLocator/LogLocator`, `plt.NullFormatter/FixedFormatter/FuncFormatter/FormatStrFormatter/StrMethodFormatter/ScalarFormatter` | xy-owned re-implementations resolved at build time against live data limits (Null/Fixed/Multiple/Linear are position-exact; MaxN/Auto port Matplotlib's `MaxNLocator._raw_ticks` — same step tables, edge extension, and offset handling — with `nbins="auto"` budgeted from the estimated plot rect like `Axis.get_tick_space()`; Log remains approximate). Third-party locator objects work if they implement `tick_values(vmin, vmax)`; minor locators/formatters are retained for round-tripping but minor ticks do not render, except that a labeled minor pair under a blanked major formatter (the centered date-label idiom) is promoted to the drawn tick set | diff --git a/tests/pyplot/test_best_legend_placement.py b/tests/pyplot/test_best_legend_placement.py new file mode 100644 index 00000000..156e10d8 --- /dev/null +++ b/tests/pyplot/test_best_legend_placement.py @@ -0,0 +1,447 @@ +"""``legend(loc="best")`` must choose the corner Matplotlib chooses. + +Every ``matplotlib`` location in this file is a *measured* value, not a guess: +each was read out of ``matplotlib.legend.Legend._find_best_position`` under +matplotlib 3.11.1 for the same figure, together with its per-candidate badness. +The comments quote those badness numbers so a future change to the scoring model +can be judged against Matplotlib rather than against this file. + +Assertions are on the resolved ``loc`` that reaches the wire, never on pixels. +""" + +from __future__ import annotations + +import numpy as np +import pytest + +import xy +import xy.pyplot as plt +from xy._svg import _legend_layout + + +def resolved_loc(ax) -> str: + """The legend loc the built figure actually ships, at the figure's own size.""" + spec, _ = ax.figure._charts()[0].figure().build_payload() + return spec["legend"]["loc"] + + +# -------------------------------------------------------------------------- +# Parity table. `matplotlib` is what matplotlib 3.11.1 picks; `expected` is what +# the shim picks. They are equal except where `note` records a measured reason. +# -------------------------------------------------------------------------- + + +def _births_seasonal_curve(): + """The reported defect, reduced to its geometry. + + `examples/pdsh/pdsh_04_09_text_and_annotation.ipynb` cell 23: one wide, + 366-point series labelled `births`, a late-summer peak reaching ~0.87 of the + view, and a low winter tail that leaves the top-right corner clear. + Matplotlib picks upper right at badness 0. + + The old linear estimate sized this legend at 0.30 x 0.17 of the axes + (`0.12 + 0.03 * len("births")` by `0.10 + 0.07 * 1`) against a real + 0.097 x 0.083. The inflated upper-right candidate reached back to x=0.70 and + down to y=0.83, swallowing the summer peak, while the inflated upper-left + candidate stopped at x=0.30 and stayed empty -- so upper left won. + """ + t = np.linspace(0.0, 1.0, 366) + y = 3900 + 1300 * np.exp(-(((t - 0.68) / 0.16) ** 2)) + y += 40 * np.sin(2 * np.pi * t * 7) + _, ax = plt.subplots(figsize=(12, 4)) + ax.plot(t, y, label="births") + ax.set_ylim(3600, 5400) + ax.legend(loc="best") + return ax + + +def _data_in_upper_right(): + """A rising diagonal fills the upper right. Matplotlib: upper left (0); + upper right scores 11.""" + _, ax = plt.subplots() + x = np.linspace(0, 10, 200) + ax.plot(x, x, label="rising") + ax.legend(loc="best") + return ax + + +def _data_in_upper_left(): + """A falling diagonal fills the upper left. Matplotlib: upper right (0).""" + _, ax = plt.subplots() + x = np.linspace(0, 10, 200) + ax.plot(x, 10 - x, label="falling") + ax.legend(loc="best") + return ax + + +def _few_entries_short_labels(): + """One entry, one-character label -> the smallest possible box. + Matplotlib: upper right, badness 0.""" + _, ax = plt.subplots() + x = np.linspace(0, 10, 100) + ax.plot(x, np.sin(x), label="a") + ax.legend(loc="best") + return ax + + +def _full_amplitude_oscillation(): + """A sine filling the view vertically. Matplotlib: lower left (0), after + scoring upper right 2 and upper left 45 -- the two vertices near the last + peak are what disqualify upper right.""" + _, ax = plt.subplots() + x = np.linspace(0, 20, 1000) + ax.plot(x, np.sin(x), label="sin") + ax.legend(loc="best") + return ax + + +def _center_band_oscillation(): + """Four phase-shifted sines: every corner busy, the center band sparse. + Matplotlib: center left 20, against center right 36.""" + _, ax = plt.subplots() + x = np.linspace(0, 10, 500) + ax.plot(x, np.sin(x[:, None] + np.pi * np.arange(0, 2, 0.5))) + ax.legend(["a", "b"]) + return ax + + +def _diagonal_band_long_labels(): + """Two near-identical diagonals with a long label -> a wide two-row box. + Matplotlib: upper left (0); upper right scores 57.""" + _, ax = plt.subplots() + x = np.linspace(0, 10, 300) + ax.plot(x, x, label="identity") + ax.plot(x, x + 0.5, label="identity shifted up by a half") + ax.legend(loc="best") + return ax + + +def _data_fills_axes(): + """A uniform cloud over the whole view: no candidate is empty. + + Matplotlib ties upper left and lower right at 2 contained vertices out of + 400 and breaks the tie by location code, giving upper left. The shim's box + is ~12% narrower and ~14% shorter *as a fraction of its plot rect* (the box + is pixel-accurate; xy's plot rect is larger than Matplotlib's axes rect), + which separates the tie and leaves lower right strictly emptier. + """ + _, ax = plt.subplots() + rng = np.random.default_rng(0) + ax.plot(rng.uniform(0, 1, 400), rng.uniform(0, 1, 400), "o", label="cloud") + ax.legend(loc="best") + return ax + + +def _scatter_cluster_upper_right(): + """A tight cluster near the upper-right corner. + + Matplotlib scores upper right 1 -- a single one of 200 offsets sits in the + corner box -- and so falls through to upper left. That lone offset lies + between the shim's box edge and Matplotlib's, for the same plot-rect reason + as `_data_fills_axes`, so the shim sees upper right as empty. + """ + _, ax = plt.subplots() + rng = np.random.default_rng(3) + ax.scatter(rng.normal(8, 0.4, 200), rng.normal(8, 0.4, 200), label="cluster") + ax.set_xlim(0, 10) + ax.set_ylim(0, 10) + ax.legend(loc="best") + return ax + + +def _many_entries_long_labels(): + """Six long labels -> a box covering ~71% x ~31% of the plot. + + No candidate is close to empty. Matplotlib ties lower left and lower center + at 147 and takes lower left; the shim's smaller box makes the dead-center + box the emptiest instead. Same plot-rect gap, amplified by a box this large. + """ + _, ax = plt.subplots() + x = np.linspace(0, 10, 100) + for index in range(6): + ax.plot( + x, + 0.4 * np.sin(x) + index * 0.05, + label=f"a very long descriptive series label number {index}", + ) + ax.legend(loc="best") + return ax + + +PARITY_CASES = [ + # (id, builder, matplotlib 3.11.1 loc, shim loc) + ("births_seasonal_curve", _births_seasonal_curve, "upper right", "upper right"), + ("data_in_upper_right", _data_in_upper_right, "upper left", "upper left"), + ("data_in_upper_left", _data_in_upper_left, "upper right", "upper right"), + ("few_entries_short_labels", _few_entries_short_labels, "upper right", "upper right"), + ("full_amplitude_oscillation", _full_amplitude_oscillation, "lower left", "lower left"), + ("center_band_oscillation", _center_band_oscillation, "center left", "center left"), + ("diagonal_band_long_labels", _diagonal_band_long_labels, "upper left", "upper left"), + # Known divergences, each attributed in the builder's docstring. + ("data_fills_axes", _data_fills_axes, "upper left", "lower right"), + ("scatter_cluster_upper_right", _scatter_cluster_upper_right, "upper left", "upper right"), + ("many_entries_long_labels", _many_entries_long_labels, "lower left", "center"), +] + + +@pytest.mark.parametrize( + ("builder", "matplotlib_loc", "expected"), + [case[1:] for case in PARITY_CASES], + ids=[case[0] for case in PARITY_CASES], +) +def test_best_loc_matches_matplotlib_per_data_shape(builder, matplotlib_loc, expected): + assert resolved_loc(builder()) == expected + + +def test_measured_parity_against_matplotlib(): + """Pin the measured parity rate, so a scoring change has to argue its case. + + 7 of these 10 shapes now resolve to the corner Matplotlib picks, against 6 + of 10 before -- and *not* a superset. Three shapes were fixed + (`births_seasonal_curve`, `full_amplitude_oscillation`, + `center_band_oscillation`) and two regressed (`data_fills_axes`, + `scatter_cluster_upper_right`): those two used to match by accident, because + an oversized candidate box happened to disqualify the same corner + Matplotlib rejects for a real reason. + + The exact counts are deliberate: this is a compatibility contract, so a + scoring or legend-metric change should have to re-measure against + Matplotlib rather than silently drift. (Checked against PR 248's `0308c98` + DejaVu glyph advances, which land here once #254 absorbs them: the box gets + narrower in pixels and *more* accurate, and this set stays 7/10.) + """ + parity = {case[0]: resolved_loc(case[1]()) == case[2] for case in PARITY_CASES} + assert sum(parity.values()) == 7 + assert {name for name, matched in parity.items() if not matched} == { + "data_fills_axes", + "scatter_cluster_upper_right", + "many_entries_long_labels", + } + + +def test_residual_divergence_is_attributable_to_the_plot_rect(monkeypatch): + """Two of the three residuals are the plot-rect gap, not the scoring model. + + The legend box is pixel-accurate against Matplotlib (a one-row box measures + 25.4 px in both engines), but xy lays out a 564 x 428 plot box where + Matplotlib's default axes rect is 496 x 369.6 -- so the *same* box is ~12% + narrower and ~14% shorter as a fraction, and knife-edge candidates decided + by one or two vertices fall the other way. + + Substituting Matplotlib's axes rect as the denominator lifts parity from + 7/10 to 9/10, which attributes the residual without papering over it. xy is + deliberately *not* scored against a geometry it does not render: doing so + would place legends by a rect the exporters never use, and would need + undoing once the frame-geometry work converges the two. + """ + monkeypatch.setattr( + type(plt.subplots()[1]), + "_plot_rect_px", + lambda self, width, height, padding=None, x_side=None: ( + width * 0.775, + height * 0.77, + ), + ) + parity = {case[0]: resolved_loc(case[1]()) == case[2] for case in PARITY_CASES} + assert sum(parity.values()) == 9 + assert {name for name, matched in parity.items() if not matched} == {"data_fills_axes"} + + +# -------------------------------------------------------------------------- +# The footprint is measured, not estimated +# -------------------------------------------------------------------------- + + +def test_best_scores_the_measured_legend_box_not_a_linear_estimate(): + """The scored footprint is the box the exporters actually lay out.""" + _, ax = plt.subplots() + x = np.linspace(0, 10, 366) + ax.plot(x, 0.05 * np.sin(x), label="average daily births") + ax.set_ylim(-1, 1) + ax.legend(loc="best") + + chart = ax._build_chart(1200, 400) + spec, _ = chart.figure().build_payload() + from xy._svg import layout + + _, _, _, plot = layout(spec) + box = _legend_layout( + [trace for trace in spec["traces"] if trace.get("name")], plot, spec["legend"] + ) + # One row of one label: nowhere near the 0.12 + 0.03 * len(label) width and + # 0.10 + 0.07 * rows height the old estimate produced (0.30 x 0.17). + assert box["box_w"] / plot["w"] < 0.20 + assert box["box_h"] / plot["h"] < 0.12 + assert spec["legend"]["loc"] == "upper right" + + +def test_longer_labels_grow_the_scored_footprint(): + """A wider legend guards a wider region, so it can change the choice.""" + + def build(label): + _, ax = plt.subplots() + x = np.linspace(0, 10, 200) + # Data hugging the top-left leaves the right side clear, but only for a + # box narrow enough to fit beside it. + ax.plot(x, 10 - 3 * x, label=label) + ax.set_xlim(0, 10) + ax.set_ylim(0, 10) + ax.legend(loc="best") + return ax + + narrow = _legend_footprint_width(build("a")) + wide = _legend_footprint_width(build("an extremely long series label indeed")) + assert wide > narrow * 2 + + +def _legend_footprint_width(ax) -> float: + spec, _ = ax._build_chart(640, 480).figure().build_payload() + from xy._svg import layout + + _, _, _, plot = layout(spec) + box = _legend_layout( + [trace for trace in spec["traces"] if trace.get("name")], plot, spec["legend"] + ) + return box["box_w"] / plot["w"] + + +def test_best_scores_the_displayed_view_not_the_raw_data_extent(): + """Autorange padding moves the corners; `best` must see the padded view. + + Data spanning exactly the data extent reaches y=1.0, but the rendered view + is padded past it, so the top band is clear on screen. Scoring the raw + extent instead reports the top band as occupied. + """ + _, ax = plt.subplots() + x = np.linspace(0, 10, 200) + ax.plot(x, np.full_like(x, 1.0), label="flat top") + ax.plot(x, np.linspace(0.0, 0.2, 200), label="rising floor") + ax.legend(loc="best") + figure = ax._build_chart(640, 480).figure() + lo, hi = figure.y_range() + assert hi > 1.0 and lo < 0.0 # the engine padded past the data + # The flat line at y=1.0 sits *below* the padded top edge, so the upper + # corners are still occupied by it and matplotlib's first empty candidate + # is a lower one. + assert resolved_loc(ax) in {"lower left", "lower right", "lower center"} + + +def test_borderaxespad_insets_every_candidate_box(): + """Matplotlib pads the container before anchoring, so the pad must reach + scoring -- otherwise every candidate sits flush against the plot edge.""" + + def pads(borderaxespad): + _, ax = plt.subplots() + x = np.linspace(0, 10, 400) + ax.plot(x, x, label="rising") + ax.legend(loc="best", borderaxespad=borderaxespad) + *_, pad_x, pad_y = ax._legend_footprint(ax._legend_options, None, (564.0, 428.0)) + return pad_x, pad_y + + assert pads(0.0) == (0.0, 0.0) + half_x, half_y = pads(0.5) + assert half_x > 0.0 and half_y > 0.0 + # Linear in borderaxespad, and larger vertically because the plot box is + # shorter than it is wide. + quad_x, quad_y = pads(2.0) + assert quad_x == pytest.approx(half_x * 4.0) + assert quad_y == pytest.approx(half_y * 4.0) + assert half_y > half_x + # The pixel pad itself is Matplotlib's: borderaxespad * legend font px. + assert half_x * 564.0 == pytest.approx(0.5 * 10.0 * 100.0 / 72.0) + + +def test_best_is_resolved_before_the_wire(): + """`"best"` is a shim concept; the wire only ever carries a real location.""" + _, ax = plt.subplots() + ax.plot([0, 1], [0, 1], label="a") + ax.legend(loc="best") + spec, _ = ax._build_chart(640, 480).figure().build_payload() + assert spec["legend"]["loc"] != "best" + assert spec["legend"]["loc"] in xy._validate.LEGEND_LOCATIONS + + +def test_unlabeled_entries_do_not_crash_measurement(): + """A legend with no labelled entry still measures as one empty row.""" + _, ax = plt.subplots() + ax.plot([0, 1], [0, 1]) + ax.legend(loc="best") + assert resolved_loc(ax) in xy._validate.LEGEND_LOCATIONS + + +# -------------------------------------------------------------------------- +# The substring-match guard +# -------------------------------------------------------------------------- + + +def test_legend_loc_rejects_unresolved_and_misspelled_locations(): + """Placement used to be substring-matched, so a string containing neither + "left" nor "right" silently produced a *centered* legend. It is now an + error at the call that introduces it.""" + for bogus in ("best", "uppper right", "top left", "", "middle"): + with pytest.raises(ValueError, match="legend loc must be one of"): + xy.legend(loc=bogus) + + +def test_legend_layout_rejects_an_unresolved_loc_reaching_the_exporter(): + """Second line of defence: the shared static geometry refuses to guess.""" + items = [{"name": "a"}] + plot = {"x": 0.0, "y": 0.0, "w": 400.0, "h": 300.0} + with pytest.raises(ValueError, match="legend loc must be one of"): + _legend_layout(items, plot, {"loc": "best"}) + with pytest.raises(ValueError, match="legend loc must be one of"): + _legend_layout(items, plot, {"loc": "north"}) + + +def test_every_valid_loc_places_the_box_where_it_used_to(): + """The guard is a pure guard: valid names keep their exact geometry. + + Left/right/centre and upper/lower/centre are asserted against the plot box + directly, which is what the replaced per-branch arithmetic computed. + """ + items = [{"name": "abc"}] + plot = {"x": 40.0, "y": 20.0, "w": 400.0, "h": 300.0} + inset = 6.0 + for loc, (hx, vy) in xy._validate.LEGEND_LOCATIONS.items(): + box = _legend_layout(items, plot, {"loc": loc}) + want_x = plot["x"] + inset + hx * (plot["w"] - 2 * inset - box["box_w"]) + want_y = plot["y"] + inset + (1.0 - vy) * (plot["h"] - 2 * inset - box["box_h"]) + assert box["x"] == pytest.approx(want_x), loc + assert box["y"] == pytest.approx(want_y), loc + + +def test_right_and_center_right_are_the_same_anchor(): + """Matplotlib resolves codes 5 and 7 to the same offsetbox corner.""" + assert xy._validate.LEGEND_LOCATIONS["right"] == (xy._validate.LEGEND_LOCATIONS["center right"]) + items = [{"name": "abc"}] + plot = {"x": 0.0, "y": 0.0, "w": 400.0, "h": 300.0} + a = _legend_layout(items, plot, {"loc": "right"}) + b = _legend_layout(items, plot, {"loc": "center right"}) + assert (a["x"], a["y"]) == (b["x"], b["y"]) + + +def test_best_candidate_order_is_matplotlib_code_order(): + """The tie-break contract: Matplotlib prefers the lower location code.""" + from xy.pyplot._axes import _BEST_LOC_ORDER + + # Codes 1..10 with code 5 ("right") folded onto its identical code-7 anchor. + assert _BEST_LOC_ORDER == ( + "upper right", + "upper left", + "lower left", + "lower right", + "center right", + "center left", + "lower center", + "upper center", + "center", + ) + assert set(_BEST_LOC_ORDER) <= set(xy._validate.LEGEND_LOCATIONS) + + +def test_ties_keep_the_earliest_candidate(): + """An empty plot leaves every candidate at zero -> code 1 wins.""" + _, ax = plt.subplots() + ax.plot([], [], label="nothing") + ax.legend(loc="best") + assert resolved_loc(ax) == "upper right" diff --git a/tests/pyplot/test_grid_legend_contracts.py b/tests/pyplot/test_grid_legend_contracts.py index f47c3500..035075a5 100644 --- a/tests/pyplot/test_grid_legend_contracts.py +++ b/tests/pyplot/test_grid_legend_contracts.py @@ -160,14 +160,19 @@ def test_standalone_legend_preserves_rule_annotation_dash(): assert item["style"]["dash"] == [10.2778, 4.4444] -def test_center_right_legend_loc_reaches_spec(): +def test_center_band_legend_loc_reaches_spec(): import numpy as np _, ax = plt.subplots() x = np.linspace(0, 10, 500) # A full-amplitude oscillation leaves every corner busy; matplotlib's "best" - # parks the legend on the sparse vertical-center band. + # parks the legend on the sparse vertical-center band. Matplotlib 3.11.1 + # scores this exact figure center left 20 against center right 36 — a + # decisive win for the left band, not a tie. This asserted "center right" + # while the shim compared *mean fractional* occupancy under a 0.02 tie band, + # which flattened the 20-vs-36 gap into a tie and handed it to the + # earlier-ordered candidate. ax.plot(x, np.sin(x[:, None] + np.pi * np.arange(0, 2, 0.5))) ax.legend(["a", "b"]) spec, _ = ax._build_chart(573, 400).figure().build_payload() - assert spec["legend"]["loc"] == "center right" + assert spec["legend"]["loc"] == "center left" From aa2b2f539100aaf748de5b24ce0dcbfc55576888 Mon Sep 17 00:00:00 2001 From: Sriman Selvakumaran Date: Fri, 24 Jul 2026 16:13:49 -0700 Subject: [PATCH 2/2] Add temporary best-legend placement comparison asset TEMPORARY: review evidence only, to be removed before merge (as in 3bd48f2, b8fb1d9, c90ad45). Referenced from the PR body by raw.githubusercontent.com URL. Three-up of the pdsh births figure -- matplotlib 3.11.1 reference, xy at this PR's base (#254 head 12d0cb9), xy with this PR. All three render the real `examples/pdsh/data/births.csv` through pandas' `.plot(ax=...)`, which passes `loc="best"` to both engines. Both xy panels came from one tree with one native core (dylib sha256 d79858dd12c2d4b0..., `src/` tree 69e331f4, unmodified), toggling only the Python under test, so the only variable is this PR. The xy panels are downscaled from savefig's 2400x800 to the reference's 1200x400. --- ...legend-placement-reference-before-after.png | Bin 0 -> 261822 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 pr-assets/best-legend-placement/best-legend-placement-reference-before-after.png diff --git a/pr-assets/best-legend-placement/best-legend-placement-reference-before-after.png b/pr-assets/best-legend-placement/best-legend-placement-reference-before-after.png new file mode 100644 index 0000000000000000000000000000000000000000..4a5bfe14874cae139ed5808135d84f891b3fd9ae GIT binary patch literal 261822 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

+Ck&2Av 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