Skip to content

Commit

Permalink
Improve error message when plotting lazy signal of ragged array
Browse files Browse the repository at this point in the history
  • Loading branch information
ericpre committed Nov 2, 2021
1 parent a8ca219 commit 9a37d1a
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 1 deletion.
2 changes: 2 additions & 0 deletions hyperspy/_signals/lazy.py
Expand Up @@ -1102,6 +1102,8 @@ def post(a):
print("\n".join([str(pr) for pr in to_print]))

def plot(self, navigator='auto', **kwargs):
if self.axes_manager.ragged:
raise RuntimeError("Plotting ragged signal is not supported.")
if isinstance(navigator, str):
if navigator == 'spectrum':
# We don't support the 'spectrum' option to keep it simple
Expand Down
5 changes: 4 additions & 1 deletion hyperspy/tests/drawing/test_plot_signal.py
Expand Up @@ -333,10 +333,13 @@ def test_plot_signal_scalar():
assert s._plot is None


def test_plot_ragged_array():
@pytest.mark.parametrize('lazy', [True, False])
def test_plot_ragged_array(lazy):
data = np.empty((2, 5), dtype=object)
data.fill(np.array([10, 20]))

s = hs.signals.BaseSignal(data, ragged=True)
if lazy:
s = s.as_lazy()
with pytest.raises(RuntimeError):
s.plot()

0 comments on commit 9a37d1a

Please sign in to comment.