From 9528a063249c97b97926cf41c9db27883535b541 Mon Sep 17 00:00:00 2001 From: hieustat Date: Fri, 17 Apr 2026 22:46:22 +0700 Subject: [PATCH] fix: correct YRangeCursorTool annotation when cursors are inverted When the top Y-range cursor is dragged below the bottom cursor (ymin > ymax), the annotation label showed an invalid inequality (e.g. '5 < y < 2') and a negative delta (no physical meaning). Fix by sorting the min/max values and using abs() for the delta. Fixes #306 --- datalab/gui/docks.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/datalab/gui/docks.py b/datalab/gui/docks.py index 1c523ca2..5d2076f0 100644 --- a/datalab/gui/docks.py +++ b/datalab/gui/docks.py @@ -94,8 +94,8 @@ def set_labelfuncs(cls, statstool: CurveStatsTool) -> None: ) else: # YRangeCursorTool labelfuncs = ( - ("%g < y < %g", lambda ymin, ymax: (ymin, ymax)), - ("∆y=%g", lambda ymin, ymax: ymax - ymin), + ("%g < y < %g", lambda ymin, ymax: (min(ymin, ymax), max(ymin, ymax))), + ("∆y=%g", lambda ymin, ymax: abs(ymax - ymin)), ) statstool.set_labelfuncs(labelfuncs)