code: def compute_bounds(xmin, xmax, xv):
      """Handles any setting of xmax and xmin.
  
      Note that we handle None, float, or "percentile(float)" formats.
      """
  
      if xmin is not None or xmax is not None:
          if isinstance(xmin, str) and xmin.startswith("percentile"):
              xmin = np.nanpercentile(xv, float(xmin[11:-1]))
          if isinstance(xmax, str) and xmax.startswith("percentile"):
              xmax = np.nanpercentile(xv, float(xmax[11:-1]))
  
          if xmin is None or xmin == np.nanmin(xv):
              xmin = np.nanmin(xv) - (xmax - np.nanmin(xv)) / 20
          if xmax is None or xmax == np.nanmax(xv):
              xmax = np.nanmax(xv) + (np.nanmax(xv) - xmin) / 20
  
      return (xmin, xmax)
  
file_path: shap/shap/plots/_partial_dependence.py
imports: import matplotlib.pyplot
  import numpy
  import pandas
  from ..None import Explanation
  from ..plots.colors import blue_rgb, light_blue_rgb, red_blue_transparent, red_rgb
  from ..utils import convert_name
label_desc: Use image node_id 1 for calling a global function with example usage: compute_bounds(xmin, xmax, xv) and returns: xmin,  xmax