From 8d5d1b9ffebcf7f0a9a005ae52d125fb6e3d7fbb Mon Sep 17 00:00:00 2001 From: avcopan Date: Fri, 7 Nov 2025 14:29:05 -0500 Subject: [PATCH 1/2] Fix number formatting on axes with a small scale --- src/autochem/util/plot.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/autochem/util/plot.py b/src/autochem/util/plot.py index fe8ed969..eacdd4d1 100644 --- a/src/autochem/util/plot.py +++ b/src/autochem/util/plot.py @@ -176,7 +176,13 @@ def regular_scale_axis(val_range: tuple[float, float]) -> alt.Axis: :return: Axis """ val_min, val_max = val_range - fmt = ".1f" if (val_max - val_min) < 3 else ".0f" + val_scale = val_max - val_min + if val_scale < 1: + fmt = ".2f" + elif val_scale < 3: + fmt = ".1f" + else: + fmt = ".0f" return alt.Axis(format=fmt) From c4a0160693a77e8efe7081480134932aa617b7e5 Mon Sep 17 00:00:00 2001 From: avcopan Date: Fri, 7 Nov 2025 14:29:57 -0500 Subject: [PATCH 2/2] Fix handling of NaN values by interpolator --- src/autochem/util/plot.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/autochem/util/plot.py b/src/autochem/util/plot.py index eacdd4d1..93f94dc8 100644 --- a/src/autochem/util/plot.py +++ b/src/autochem/util/plot.py @@ -308,10 +308,17 @@ def transformed_spline_interpolator( :param x_data: X data :return: Y interpolator """ + + def nan_(x: Any) -> np.ndarray: + return np.full_like(x, fill_value=np.nan, dtype=np.float64) + valid = np.isfinite(y_data) x_data = np.compress(valid, x_data) y_data = np.compress(valid, y_data) - interp_trans_ = CubicSpline(x_trans(x_data), y_trans(y_data)) + try: + interp_trans_ = CubicSpline(x_trans(x_data), y_trans(y_data)) + except ValueError: + return nan_ def interp_(x: Any) -> np.ndarray: return np.asarray(y_trans_inv(interp_trans_(x_trans(x))))