code: def sortdataindicators(self, strategy):
      # These lists/dictionaries hold the subplots that go above each data
      self.dplotstop = list()
      self.dplotsup = collections.defaultdict(list)
      self.dplotsdown = collections.defaultdict(list)
      self.dplotsover = collections.defaultdict(list)
  
      # Sort observers in the different lists/dictionaries
      for x in strategy.getobservers():
          if not x.plotinfo.plot or x.plotinfo.plotskip:
              continue
  
          if x.plotinfo.subplot:
              self.dplotstop.append(x)
          else:
              key = getattr(x._clock, "owner", x._clock)
              self.dplotsover[key].append(x)
  
      # Sort indicators in the different lists/dictionaries
      for x in strategy.getindicators():
          if not hasattr(x, "plotinfo"):
              # no plotting support - so far LineSingle derived classes
              continue
  
          if not x.plotinfo.plot or x.plotinfo.plotskip:
              continue
  
          x._plotinit()  # will be plotted ... call its init function
  
          # support LineSeriesStub which has "owner" to point to the data
          key = getattr(x._clock, "owner", x._clock)
          if key is strategy:  # a LinesCoupler
              key = strategy.data
  
          if getattr(x.plotinfo, "plotforce", False):
              if key not in strategy.datas:
                  datas = strategy.datas
                  while True:
                      if key not in strategy.datas:
                          key = key._clock
                      else:
                          break
  
          xpmaster = x.plotinfo.plotmaster
          if xpmaster is x:
              xpmaster = None
          if xpmaster is not None:
              key = xpmaster
  
          if x.plotinfo.subplot and xpmaster is None:
              if x.plotinfo.plotabove:
                  self.dplotsup[key].append(x)
              else:
                  self.dplotsdown[key].append(x)
          else:
              self.dplotsover[key].append(x)
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import bisect
  import collections
  import datetime
  import itertools
  import math
  import operator
  import sys
  import matplotlib
  import numpy
  import matplotlib.dates
  import matplotlib.font_manager
  import matplotlib.legend
  import matplotlib.ticker
  from ..utils.py3 import range, with_metaclass, string_types, integer_types
  from ..None import AutoInfoClass, MetaParams, TimeFrame, date2num
  from .finance import plot_candlestick, plot_ohlc, plot_volume, plot_lineonclose
  from .formatters import MyVolFormatter, MyDateFormatter, getlocator
  from .None import locator
  from .multicursor import MultiCursor
  from .scheme import PlotScheme
  from .utils import tag_box_style
label_desc: Use image node_id 12 for calling the Plot_OldSync obj's underlying member method code with example usage: obj.sortdataindicators(strategy) without return types