code: def _crop_colorbar(cbar, cbar_vmin, cbar_vmax):
      """Crop a colorbar to show from cbar_vmin to cbar_vmax.
  
      Used when symmetric_cbar=False is used.
      """
      if (cbar_vmin is None) and (cbar_vmax is None):
          return
      cbar_tick_locs = cbar.locator.locs
      if cbar_vmax is None:
          cbar_vmax = cbar_tick_locs.max()
      if cbar_vmin is None:
          cbar_vmin = cbar_tick_locs.min()
      new_tick_locs = np.linspace(
          cbar_vmin, cbar_vmax, len(cbar_tick_locs)
      )
  
      cbar.ax.set_ylim(cbar_vmin, cbar_vmax)
      X = cbar._mesh()[0]
      X = np.array([X[0], X[-1]])
      Y = np.array([[cbar_vmin, cbar_vmin], [cbar_vmax, cbar_vmax]])
      N = X.shape[0]
      ii = [0, 1, N - 2, N - 1, 2 * N - 1, 2 * N - 2, N + 1, N, 0]
      x = X.T.reshape(-1)[ii]
      y = Y.T.reshape(-1)[ii]
      xy = (
          np.column_stack([y, x])
          if cbar.orientation == "horizontal"
          else np.column_stack([x, y])
      )
      cbar.outline.set_xy(xy)
  
      cbar.set_ticks(new_tick_locs)
      cbar.update_ticks()
  
imports: import inspect
  import operator
  import os
  import warnings
  from contextlib import contextmanager
  from io import StringIO
  from math import log
  from pprint import pprint
  import numpy
label_desc: Use image node_id 16 for calling a global function with example usage: _crop_colorbar(cbar, cbar_vmin, cbar_vmax) without return types