code: def compute_layer(cls, data, params, layout):
          
          def fn(pdata):
              """
              Helper compute function
              """
              # Given data belonging to a specific panel, grab
              # the corresponding scales and call the method
              # that does the real computation
              if len(pdata) == 0:
                  return pdata
              scales = layout.get_scales(pdata['PANEL'].iat[0])
              return cls.compute_panel(pdata, scales, params)
  
          return groupby_apply(data, 'PANEL', fn)
docs: Compute position for the layer in all panels
  
          Positions can override this function instead of
          `compute_panel` if the position computations are
          independent of the panel. i.e when not colliding