Skip to content

Commit

Permalink
Refactor: Removed code duplication
Browse files Browse the repository at this point in the history
  • Loading branch information
CSSFrancis committed May 8, 2023
1 parent 5e04988 commit 27915fa
Showing 1 changed file with 18 additions and 28 deletions.
46 changes: 18 additions & 28 deletions hyperspy/drawing/mpl_he.py
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,7 @@ def plot(self, **kwargs):
if "ipympl" in backend:
with plt.ioff(): # plot ioff to hold plotting until display is called
from ipywidgets.widgets import HBox, VBox, Output
from IPython.display import display
if plot_style is None:
plot_style = preferences.Plot.widget_plot_style
# If widgets do not already exist, we will `display` them at the end
Expand All @@ -232,33 +233,8 @@ def plot(self, **kwargs):
navigator_kwds['widget'] = navigator_widget

kwargs['widget'] = signal_widget

if self.pointer is None:
pointer = self.assign_pointer()
if pointer is not None:
self.pointer = pointer(self.axes_manager)
self.pointer.color = 'red'
self.pointer.connect_navigate()
self.plot_navigator(**navigator_kwds)
if pointer is not None:
self.navigator_plot.events.closed.connect(
self.pointer.disconnect, [])
self.plot_signal(**kwargs)

else:
if self.pointer is None:
pointer = self.assign_pointer()
if pointer is not None:
self.pointer = pointer(self.axes_manager)
self.pointer.color = 'red'
self.pointer.connect_navigate()
self.plot_navigator(**navigator_kwds)
if pointer is not None:
self.navigator_plot.events.closed.connect(
self.pointer.disconnect, [])
self.plot_signal(**kwargs)
if "ipympl" in backend:
from IPython.display import display
self.plot_navigator_and_signal(navigator_kwds=navigator_kwds,
**kwargs)
if display_nav_widget_now and display_sig_widget_now:
if not self.navigator_plot:
display(signal_widget)
Expand All @@ -275,14 +251,28 @@ def plot(self, **kwargs):
signal_widget.layout.margin = margin
widget_box = VBox([navigator_widget, signal_widget])
display(widget_box)

elif display_nav_widget_now:
display(navigator_widget)
elif display_sig_widget_now:
display(signal_widget)
else:
pass

else:
self.plot_navigator_and_signal(navigator_kwds=navigator_kwds,
**kwargs)
def plot_navigator_and_signal(self, navigator_kwds, **kwargs):
if self.pointer is None:
pointer = self.assign_pointer()
if pointer is not None:
self.pointer = pointer(self.axes_manager)
self.pointer.color = 'red'
self.pointer.connect_navigate()
self.plot_navigator(**navigator_kwds)
if pointer is not None:
self.navigator_plot.events.closed.connect(
self.pointer.disconnect, [])
self.plot_signal(**kwargs)


def assign_pointer(self):
Expand Down

0 comments on commit 27915fa

Please sign in to comment.