docs: def plot_chromosomes(one_chrom_match, two_chrom_match, cytobands, path, title, build):
      """ Plots chromosomes with designated markers.
  
      Parameters
      ----------
      one_chrom_match : list of dicts
          segments to highlight on the chromosomes representing one shared chromosome
      two_chrom_match : list of dicts
          segments to highlight on the chromosomes representing two shared chromosomes
      cytobands : pandas.DataFrame
          cytobands table loaded with Resources
      path : str
          path to destination `.png` file
      title : str
          title for plot
      build : {37}
          human genome build
      """
      # Height of each chromosome
      chrom_height = 1.25
  
      # Spacing between consecutive chromosomes
      chrom_spacing = 1
  
      # Decide which chromosomes to use
      chromosome_list = ["chr%s" % i for i in range(1, 23)]
      chromosome_list.append("chrY")
      chromosome_list.append("chrX")
  
      # Keep track of the y positions for chromosomes, and the center of each chromosome
      # (which is where we'll put the ytick labels)
      ybase = 0
      chrom_ybase = {}
      chrom_centers = {}
  
      # Iterate in reverse so that items in the beginning of `chromosome_list` will
      # appear at the top of the plot
      for chrom in chromosome_list[::-1]:
          chrom_ybase[chrom] = ybase
          chrom_centers[chrom] = ybase + chrom_height / 2.0
          ybase += chrom_height + chrom_spacing
  
      # Colors for different chromosome stains
      color_lookup = {
          "gneg": (202 / 255, 202 / 255, 202 / 255),  # background
          "one_chrom": (0 / 255, 176 / 255, 240 / 255),
          "two_chrom": (66 / 255, 69 / 255, 121 / 255),
          "centromere": (1, 1, 1, 0.6),
      }
  
      df = _patch_chromosomal_features(cytobands, one_chrom_match, two_chrom_match)
  
      # Add a new column for colors
      df["colors"] = df["gie_stain"].apply(lambda x: color_lookup[x])
  
      # Width, height (in inches)
      figsize = (6.5, 9)
  
      fig = plt.figure(figsize=figsize)
      ax = fig.add_subplot(111)
  
      # Now all we have to do is call our function for the chromosome data...
      for collection in _chromosome_collections(df, chrom_ybase, chrom_height):
          ax.add_collection(collection)
  
      # Axes tweaking
      ax.set_yticks([chrom_centers[i] for i in chromosome_list])
      ax.set_yticklabels(chromosome_list)
      ax.margins(0.01)
      ax.axis("tight")
  
      handles = []
  
      # setup legend
      if len(one_chrom_match) > 0:
          one_chrom_patch = patches.Patch(
              color=color_lookup["one_chrom"], label="One chromosome shared"
          )
          handles.append(one_chrom_patch)
  
      if len(two_chrom_match) > 0:
          two_chrom_patch = patches.Patch(
              color=color_lookup["two_chrom"], label="Two chromosomes shared"
          )
          handles.append(two_chrom_patch)
  
      no_match_patch = patches.Patch(color=color_lookup["gneg"], label="No shared DNA")
      handles.append(no_match_patch)
  
      centromere_patch = patches.Patch(
          color=(234 / 255, 234 / 255, 234 / 255), label="Centromere"
      )
      handles.append(centromere_patch)
  
      plt.legend(handles=handles, loc="lower right", bbox_to_anchor=(0.95, 0.05))
  
      ax.set_title(title, fontsize=14, fontweight="bold")
      plt.xlabel("Build " + str(build) + " Chromosome Position", fontsize=10)
      print("Saving " + os.path.relpath(path))
      plt.tight_layout()
      plt.savefig(path)