class_docstr: Cross validation splitter for time series data
class_docstr_tok: ["Cross","validation","splitter","for","time","series","data"]
docstr: Parameters
  ----------
  fig_width : float
  show_index : bool
  strftime_fmt : str
  
  Returns
  -------
  matplotlib axes object
docstr_tok: ["Parameters","--","--","--","--","--","fig_width",":","float","show_index",":","bool","strftime_fmt",":","str","Returns","--","--","--","-","matplotlib","axes","object"]
code: def plot(
      self, fig_width=20, show_index=False, strftime_fmt="%Y-%m-%d"
  ):
      """
      Parameters
      ----------
      fig_width : float
      show_index : bool
      strftime_fmt : str
  
      Returns
      -------
      matplotlib axes object
      """
      _, ax = plt.subplots(figsize=(fig_width, self.n_splits))
      # visualize the train/test windows for each split
      tr_start = list()
      tr_len = list()
      # technically should be just self.forecast_len
      tt_len = list()
      yticks = list(range(self.n_splits))
      for idx, scheme in self._split_scheme.items():
          # fill in indices with the training/test groups
          tr_start.append(
              list(scheme[TimeSeriesSplitSchemeKeys.TRAIN_IDX.value])[0]
          )
          tr_len.append(
              len(
                  list(
                      scheme[TimeSeriesSplitSchemeKeys.TRAIN_IDX.value]
                  )
              )
          )
          tt_len.append(self.forecast_len)
  
      tr_start = np.array(tr_start)
      tr_len = np.array(tr_len)
  
      # ax.barh(yticks, tr_start, align='center', height=.5, color='black', alpha=0.5)
      ax.barh(
          yticks,
          tr_len,
          align="center",
          height=0.5,
          left=tr_start,
          color=OrbitPal.BLUE.value,
          label="train",
      )
      ax.barh(
          yticks,
          tt_len,
          align="center",
          height=0.5,
          left=tr_start + tr_len,
          color=OrbitPal.ORANGE.value,
          label="test",
      )
  
      if not show_index and self.date_col is not None:
          xticks_loc = np.array(ax.get_xticks(), dtype=int)
          new_xticks_loc = np.linspace(
              0, len(self.dt_array) - 1, num=len(xticks_loc)
          ).astype(int)
          dt_xticks = self.dt_array[new_xticks_loc]
          dt_xticks = dt_xticks.strftime(strftime_fmt)
          ax.set_xticks(new_xticks_loc)
          ax.set_xticklabels(dt_xticks)
  
      # some formatting parameters
      middle = 15
      large = 20
  
      ax.set_yticks(yticks)
      ax.set_ylabel("Split #", fontsize=large)
      ax.invert_yaxis()
      # ax.grid(which="both", color='grey', alpha=0.5)
      ax.tick_params(axis="x", which="major", labelsize=middle)
      ax.set_title("Train/Test Split Scheme", fontsize=large)
      return ax
  
imports: import pandas
  import numpy
  import matplotlib.pyplot
  from copy import deepcopy
  import inspect
  from .metrics import smape, wmape, mape, mse, mae, rmsse
  from ..exceptions import BacktestException
  from ..constants.constants import TimeSeriesSplitSchemeKeys, BacktestFitKeys
  from ..constants.palette import OrbitPalette
  from orbit.utils.plot import orbit_style_decorator
label_desc: Use image node_id 8 for calling the TimeSeriesSplitter obj's underlying member method code with example usage: obj.plot(fig_width, show_index, strftime_fmt) and returns: ax