code: def get_group_floors(df, cat_labels):
      
      group_maxes = collections.defaultdict(list)
      group_diffs = collections.defaultdict(list)
      diff_pad = 0.1  # 10% padding onto difference to avoid large numbers looking like zero
      for name, group in df.groupby(["category", "variant.type"]):
          label, stype = name
          if label in cat_labels:
              diff = max(group["value"]) - min(group["value"])
              group_diffs[stype].append(diff + int(diff_pad * diff))
              group_maxes[stype].append(max(group["value"]))
          group_maxes[name].append(max(group["value"]))
      out = {}
      for k, vs in group_maxes.items():
          if k in group_diffs:
              out[k] = max(max(group_diffs[stype]), min(vs))
          else:
              out[k] = min(vs)
      return out
docs: Retrieve the floor for a given row of comparisons, creating a normalized set of differences.
  
      We need to set non-zero floors so large numbers (like concordance) don't drown out small
      numbers (like discordance). This defines the height for a row of comparisons as either
      the minimum height of any sub-plot, or the maximum difference between higher and lower
      (plus 10%).