code: def create_or_find_figure(
      self, title=None, subplots=None, window_name=None
  ):
      assert not self.__in_background
  
      if title is None:
          title = self.__module.module_name
  
      if window_name is None:
          from .utilities.figure import window_name
  
          window_name = window_name(self.__module)
  
      if self.__create_new_window:
          figure = cellprofiler.gui.figure.Figure(
              parent=self,
              title=title,
              name=window_name,
              subplots=subplots,
          )
      else:
          from .utilities.figure import create_or_find
  
          figure = create_or_find(
              self.__frame,
              title=title,
              name=window_name,
              subplots=subplots,
          )
  
      if figure not in self.__windows_used:
          self.__windows_used.append(figure)
  
      return figure
  
file_path: CellProfiler/src/frontend/cellprofiler/gui/_workspace_model.py
imports: from cellprofiler_core import workspace
  from cellprofiler_core.constants.measurement import EXPERIMENT
  from cellprofiler_core.constants.measurement import GROUP_INDEX
  from cellprofiler_core.constants.measurement import GROUP_NUMBER
  from cellprofiler_core.constants.measurement import IMAGE
  from cellprofiler_core.constants.measurement import M_GROUPING_TAGS
  import cellprofiler.gui.figure
label_desc: Use image node_id 1 for calling the Workspace obj's underlying member method code with example usage: obj.create_or_find_figure(title, subplots, window_name) and returns: figure