Skip to content

Commit ca9ce63

Browse files
committed
Factor out code for getting plot data
1 parent 21d3c86 commit ca9ce63

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

src/napari_matplotlib/slice.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import Dict
1+
from typing import Dict, Tuple
22

33
import napari
44
import numpy as np
@@ -69,9 +69,7 @@ def update_slice_selectors(self) -> None:
6969
self.slice_selectors["z"].setValue(self.current_z)
7070
self.slice_selectors[self.current_dim].setEnabled(False)
7171

72-
def draw(self) -> None:
73-
self.update_slice_selectors()
74-
self.axes.clear()
72+
def get_xy(self) -> Tuple[np.ndarray, np.ndarray]:
7573
x = np.arange(self.layer.data.shape[self.current_dim_index])
7674

7775
slices = []
@@ -84,9 +82,20 @@ def draw(self) -> None:
8482
val = self.selector_values[d]
8583
slices.append(slice(val, val + 1))
8684

85+
# Reverse since z is the first axis in napari
8786
slices = slices[::-1]
8887
y = self.layer.data[tuple(slices)].ravel()
8988

89+
return x, y
90+
91+
def draw(self) -> None:
92+
"""
93+
Clear axes and draw a 1D plot.
94+
"""
95+
self.update_slice_selectors()
96+
x, y = self.get_xy()
97+
98+
self.axes.clear()
9099
self.axes.plot(x, y)
91100
self.axes.set_xlabel(self.current_dim)
92101
self.axes.set_title(self.layer.name)

0 commit comments

Comments
 (0)