code: def types_boxplot(data, fmt="longform"):
      from matplotlib.patches import PathPatch, Rectangle
  
      ax = plt.gca()
      _ = plt.gcf()
      # Scale the data
      data["low"] = 2.0 ** data["low"]
      data["high"] = 2.0 ** data["high"]
  
      # Plot the custom precisions
      ticks = np.array([tick.get_text() for tick in plt.yticks()[1]])
      # Get the coordinates of the boxes to place the markers
      if fmt == "longform":
          # seaborn adjusts the box positions slightly in groups
          boxes = [
              c.get_extents().inverse_transformed(ax.transData)
              for c in ax.get_children()
              if isinstance(c, PathPatch)
          ]
          ys = [(box.y0 + box.y1) / 2 for box in boxes]
          ys = [(y, y) for y in ys]
      elif fmt == "summary":
          ys = [(y, y) for y in plt.yticks()[0]]
      for _irow, row in data[data["layer"] != "model"].iterrows():
          if row["layer"] in ticks:
              iy = np.argwhere(ticks == row["layer"])[0][
                  0
              ]  # Determine which layer in the plot
              rectangle = Rectangle(
                  (row["low"], ys[iy][0] - 0.4),
                  row["high"] - row["low"],
                  0.8,
                  fill=True,
                  color="grey",
                  alpha=0.2,
              )
              ax.add_patch(rectangle)
  
imports: import json
  import os
  import shutil
  import uuid
  from collections import defaultdict
  import matplotlib.pyplot
  import numpy
  import pandas
  import seaborn
  from hls4ml.model.graph import ModelGraph
  from hls4ml.model.layers import GRU, LSTM, SeparableConv1D, SeparableConv2D
label_desc: Use image node_id 5 for calling a global function with example usage: types_boxplot(data, fmt) without return types