code: def _plot_path(
      x: np.ndarray,
      y: np.ndarray,
      metric: str,
      dist_kwargs: dict = None,
      title: str = "",
      plot_over_pw: bool = False,
  ):
      _check_soft_dependencies("matplotlib")
  
      import matplotlib as plt
  
      if dist_kwargs is None:
          dist_kwargs = {}
      try:
          path, dist, cost_matrix = distance_alignment_path(
              x,
              y,
              metric=metric,
              return_cost_matrix=True,
              **dist_kwargs,
          )
  
          if metric == "lcss":
              _path = []
              for tup in path:
                  _path.append(tuple(x + 1 for x in tup))
              path = _path
  
          if plot_over_pw is True:
              if metric == "lcss":
                  pw = pairwise_distance(x, y, metric="euclidean")
                  cost_matrix = np.zeros_like(cost_matrix)
                  cost_matrix[1:, 1:] = pw
              else:
                  pw = pairwise_distance(x, y, metric="squared")
                  cost_matrix = pw
      except NotImplementedError:
          path, dist, cost_matrix = _pairwise_path(x, y, metric)
  
      plt.figure(1, figsize=(8, 8))
      x_size = x.shape[0]
  
      # definitions for the axes
      left, bottom = 0.01, 0.1
      w_ts = h_ts = 0.2
      left_h = left + w_ts + 0.02
      width = height = 0.65
      bottom_h = bottom + height + 0.02
  
      rect_s_y = [left, bottom, w_ts, height]
      rect_gram = [left_h, bottom, width, height]
      rect_s_x = [left_h, bottom_h, width, h_ts]
  
      ax_gram = plt.axes(rect_gram)
      ax_s_x = plt.axes(rect_s_x)
      ax_s_y = plt.axes(rect_s_y)
  
      _path_mask(cost_matrix, path, ax_gram)
      ax_gram.axis("off")
      ax_gram.autoscale(False)
      # ax_gram.plot([j for (i, j) in path], [i for (i, j) in path], "w-",
      #              linewidth=3.)
  
      ax_s_x.plot(
          np.arange(x_size), y, "b-", linewidth=3.0, color="#818587"
      )
      ax_s_x.axis("off")
      ax_s_x.set_xlim((0, x_size - 1))
  
      ax_s_y.plot(
          -x, np.arange(x_size), "b-", linewidth=3.0, color="#818587"
      )
      ax_s_y.axis("off")
      ax_s_y.set_ylim((0, x_size - 1))
  
      ax_s_x.set_title(title, size=10)
  
      return plt
  
imports: import numpy
  from sktime.distances._distance import distance_alignment_path, pairwise_distance
  from sktime.utils.validation._dependencies import _check_soft_dependencies
label_desc: Use image node_id 3 for calling a global function with example usage: _plot_path(x, y, metric, dist_kwargs, title, plot_over_pw) and returns: plt