code: def create(plot_data, header, ploti, sample_config, out_file_base, outtype="png",
             title=None, size=None):
      
      if mpl is None or plt is None or sns is None:
          not_found = ", ".join([x for x in ['mpl', 'plt', 'sns'] if eval(x) is None])
          logger.info("No validation plot. Missing imports: %s" % not_found)
          return None
      mpl.use('Agg', force=True)
  
      if header:
          df = pd.DataFrame(plot_data, columns=header)
      else:
          df = plot_data
      df["aligner"] = [get_aligner(x, sample_config) for x in df["sample"]]
      df["bamprep"] = [get_bamprep(x, sample_config) for x in df["sample"]]
      floors = get_group_floors(df, cat_labels)
      df["value.floor"] = [get_floor_value(x, cat, vartype, floors)
                           for (x, cat, vartype) in zip(df["value"], df["category"], df["variant.type"])]
      out = []
      for i, prep in enumerate(df["bamprep"].unique()):
          out.append(plot_prep_methods(df, prep, i + ploti, out_file_base, outtype, title, size))
      return out
docs: Create plots of validation results for a sample, labeling prep strategies.