class_docstr: Creates simple statistical reports (via plots) on time series, outputting results
  
      
code: def plot_single_var_regression(
      self,
      y,
      x,
      y_variable_names,
      x_variable_names,
      statistic,
      tag="stats",
      title=None,
      pretty_index=None,
      output_path=None,
      scale_factor=None,
      silent_plot=False,
      shift=[0],
  ):
      if not (isinstance(statistic, list)):
          statistic = [statistic]
  
      # TODO optimise loop so that we are calculating each regression *once* at present calculating it
      # for each statistic, which is redundant
      for st in statistic:
          stats_df = []
  
          for sh in shift:
              x_sh = x.shift(sh)
              stats_temp = self.report_single_var_regression(
                  y,
                  x_sh,
                  y_variable_names,
                  x_variable_names,
                  st,
                  pretty_index,
              )
  
              stats_temp.columns = [
                  x + "_" + str(sh) for x in stats_temp.columns
              ]
  
              stats_df.append(stats_temp)
  
          stats_df = pandas.concat(stats_df, axis=1)
          stats_df = stats_df.dropna(how="all")
  
          if silent_plot:
              return stats_df
  
          chart = Chart()
          style = Style()
  
          if title is None:
              title = statistic
  
          style.title = title
          style.display_legend = True
          style.scale_factor = scale_factor
          # style.color = ['red', 'blue', 'purple', 'gray', 'yellow', 'green', 'pink']
  
          if output_path is not None:
              style.file_output = (
                  output_path + " (" + tag + " " + st + ").png"
              )
  
          chart.plot(stats_df, style=style)
  
      return stats_df
  
file_path: finmarketpy/finmarketpy/economics/report.py
imports: import pandas
  from chartpy import Chart, Style
  from findatapy.timeseries.calculations import Calculations
  from findatapy.util.dataconstants import DataConstants
label_desc: Use image node_id 2 for calling the Report obj's underlying member method code with example usage: obj.plot_single_var_regression(y, x, y_variable_names, x_variable_names, statistic, tag, title, pretty_index, output_path, scale_factor, silent_plot, shift) and returns: stats_df, stats_df