code: def _ohlc_dict(
      df_or_figure,
      open="",
      high="",
      low="",
      close="",
      volume="",
      validate="",
      **kwargs,
  ):
      """
      Returns a dictionary with the actual column names that
      correspond to each of the OHLCV values.
  
      df_or_figure :  DataFrame or Figure
      open : string
              Column name to be used for OPEN values
      high : string
              Column name to be used for HIGH values
      low : string
              Column name to be used for LOW values
      close : string
              Column name to be used for CLOSE values
      volume : string
              Column name to be used for VOLUME values
      validate : string
              Validates that the stated column exists
              Example:
                      validate='ohv' | Will ensure Open, High
                                                       and close values exist.
      """
      c_dir = {}
      ohlcv = ["open", "high", "low", "close", "volume"]
      if type(df_or_figure) == pd.DataFrame:
          cnames = df_or_figure.columns
      elif type(df_or_figure) == Figure or type(df_or_figure) == dict:
          cnames = df_or_figure.axis["ref"].keys()
      elif type(df_or_figure) == pd.Series:
          cnames = [df_or_figure.name]
      c_min = dict([(v.lower(), v) for v in cnames])
      for _ in ohlcv:
          if _ in c_min.keys():
              c_dir[_] = c_min[_]
          else:
              for c in cnames:
                  if _ in c.lower():
                      c_dir[_] = c
  
      if open:
          c_dir["open"] = open
      if high:
          c_dir["high"] = high
      if low:
          c_dir["low"] = low
      if close:
          c_dir["close"] = close
      if volume:
          c_dir["volume"] = volume
  
      for v in list(c_dir.values()):
          if v not in cnames:
              raise StudyError(
                  "{0} is not a valid column name".format(v)
              )
  
      if validate:
          errs = []
          val = validate.lower()
          s_names = dict([(_[0], _) for _ in ohlcv])
          cols = [_[0] for _ in c_dir.keys()]
          for _ in val:
              if _ not in cols:
                  errs.append(s_names[_])
          if errs:
              raise StudyError(
                  "Missing Columns: {0}".format(", ".join(errs))
              )
  
      return c_dir
  
imports: import pandas
  import numpy
  from plotly.graph_objs import Figure
  from .utils import make_list
label_desc: Use image node_id 1 for calling a global function with example usage: _ohlc_dict(df_or_figure, open, high, low, close, volume, validate) and returns: c_dir