code: def plot_sakoe_chiba(
      n_timestamps_1, n_timestamps_2, window_size=0.5, ax=None
  ):
      """Plot the Sakoe-Chiba band."""
      region = sakoe_chiba_band(
          n_timestamps_1, n_timestamps_2, window_size
      )
      (
          scale,
          horizontal_shift,
          vertical_shift,
      ) = _check_sakoe_chiba_params(
          n_timestamps_1, n_timestamps_2, window_size
      )
      mask = np.zeros((n_timestamps_2, n_timestamps_1))
      for i, (j, k) in enumerate(region.T):
          mask[j:k, i] = 1.0
  
      plt.imshow(mask, origin="lower", cmap="Wistia", vmin=0, vmax=1)
  
      sz = max(n_timestamps_1, n_timestamps_2)
      x = np.arange(-1, sz + 1)
      lower_bound = scale * (x - horizontal_shift) - vertical_shift
      upper_bound = scale * (x + horizontal_shift) + vertical_shift
      plt.plot(x, lower_bound, "b", lw=2)
      plt.plot(x, upper_bound, "g", lw=2)
      diag = (
          (n_timestamps_2 - 1)
          / (n_timestamps_1 - 1)
          * np.arange(-1, sz + 1)
      )
      plt.plot(x, diag, "black", lw=1)
  
      for i in range(n_timestamps_1):
          for j in range(n_timestamps_2):
              plt.plot(i, j, "o", color="green", ms=1)
  
      ax.set_xticks(np.arange(-0.5, n_timestamps_1, 1), minor=True)
      ax.set_yticks(np.arange(-0.5, n_timestamps_2, 1), minor=True)
      plt.grid(which="minor", color="b", linestyle="--", linewidth=1)
      plt.xticks(np.arange(0, n_timestamps_1, 2))
      plt.yticks(np.arange(0, n_timestamps_2, 2))
      plt.xlim((-0.5, n_timestamps_1 - 0.5))
      plt.ylim((-0.5, n_timestamps_2 - 0.5))
  
imports: import numpy
  import matplotlib.pyplot
  from pyts.metrics import sakoe_chiba_band
  from pyts.metrics.dtw import _check_sakoe_chiba_params
label_desc: Use image node_id 1 for calling a global function with example usage: plot_sakoe_chiba(n_timestamps_1, n_timestamps_2, window_size, ax) without return types