From 26648dedea3d54976fe2d9fde751f080297a3722 Mon Sep 17 00:00:00 2001 From: kushalkolar Date: Wed, 4 Feb 2026 18:48:15 -0500 Subject: [PATCH 1/2] settable separation --- fastplotlib/graphics/line_collection.py | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/fastplotlib/graphics/line_collection.py b/fastplotlib/graphics/line_collection.py index d08231f7d..a092ee68a 100644 --- a/fastplotlib/graphics/line_collection.py +++ b/fastplotlib/graphics/line_collection.py @@ -639,16 +639,30 @@ def __init__( **kwargs, ) + self._sepration_axis = separation_axis + self._separation = separation + + self.separation = separation + + @property + def separation(self) -> float: + """distance between each line in the stack, in world space""" + return self._separation + + @separation.setter + def separation(self, value: float): + separation = float(value) + axis_zero = 0 for i, line in enumerate(self.graphics): - if separation_axis == "x": + if self._sepration_axis == "x": line.offset = (axis_zero, *line.offset[1:]) - elif separation_axis == "y": + elif self._sepration_axis == "y": line.offset = (line.offset[0], axis_zero, line.offset[2]) axis_zero = ( - axis_zero + line.data.value[:, axes[separation_axis]].max() + separation + axis_zero + line.data.value[:, axes[self._sepration_axis]].max() + separation ) - self.separation = separation + self._separation = value From 21202aff2d61b54618a89ee2c1bb7a983ecf70a1 Mon Sep 17 00:00:00 2001 From: kushalkolar Date: Wed, 4 Feb 2026 18:49:21 -0500 Subject: [PATCH 2/2] default separation as 0.0 --- fastplotlib/graphics/line_collection.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fastplotlib/graphics/line_collection.py b/fastplotlib/graphics/line_collection.py index a092ee68a..59bcacabf 100644 --- a/fastplotlib/graphics/line_collection.py +++ b/fastplotlib/graphics/line_collection.py @@ -561,7 +561,7 @@ def __init__( metadata: Any = None, metadatas: Sequence[Any] | np.ndarray = None, isolated_buffer: bool = True, - separation: float = 10.0, + separation: float = 0.0, separation_axis: str = "y", kwargs_lines: list[dict] = None, **kwargs, @@ -610,7 +610,7 @@ def __init__( metadata for each individual line associated with this collection, this is for the user to manage. ``len(metadata)`` must be same as ``len(data)`` - separation: float, default 10 + separation: float, default 0.0 space in between each line graphic in the stack separation_axis: str, default "y"