From 6195cae918759ec76829735835195bb010613115 Mon Sep 17 00:00:00 2001 From: cvanelteren Date: Fri, 30 Jan 2026 12:06:55 +1000 Subject: [PATCH] correct removal of lines --- ultraplot/axes/geo.py | 3 +++ ultraplot/tests/test_geographic.py | 14 ++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/ultraplot/axes/geo.py b/ultraplot/axes/geo.py index bc12920ac..55184ca1a 100644 --- a/ultraplot/axes/geo.py +++ b/ultraplot/axes/geo.py @@ -2139,6 +2139,9 @@ def _add_geoticks(self, x_or_y: str, itick: Any, ticklen: Any) -> None: for size, which in zip(sizes, ["major", "minor"]): params.update({"length": size}) params.pop("grid_alpha", None) + # Avoid overriding gridliner label toggles via tick_params defaults. + for key in ("labeltop", "labelbottom", "labelleft", "labelright"): + params.pop(key, None) self.tick_params( axis=x_or_y, which=which, diff --git a/ultraplot/tests/test_geographic.py b/ultraplot/tests/test_geographic.py index 1aa115812..d63da1a16 100644 --- a/ultraplot/tests/test_geographic.py +++ b/ultraplot/tests/test_geographic.py @@ -1725,3 +1725,17 @@ def test_boundary_labels_view_intervals(): assert abs(loninterval[0] - 0) < 1 and abs(loninterval[1] - 60) < 1 assert abs(latinterval[0] - (-20)) < 1 and abs(latinterval[1] - 40) < 1 uplt.close(fig) + + +def test_labels_preserved_with_ticklen(): + """ + Ensure ticklen updates do not disable top/right gridline labels. + """ + fig, ax = uplt.subplots(proj="cyl") + ax.format(lonlim=(0, 10), latlim=(0, 10), labels="both", lonlines=2, latlines=2) + assert ax.gridlines_major.top_labels + assert ax.gridlines_major.right_labels + + ax.format(ticklen=1, labels="both") + assert ax.gridlines_major.top_labels + assert ax.gridlines_major.right_labels