code: def show_html(
      self,
      filepath="SWEETVIZ_REPORT.html",
      open_browser=True,
      layout="widescreen",
      scale=None,
  ):
      scale = float(self.use_config_if_none(scale, "html_scale"))
      layout = self.use_config_if_none(layout, "html_layout")
      if layout not in ["widescreen", "vertical"]:
          raise ValueError(
              f"'layout' parameter must be either 'widescreen' or 'vertical'"
          )
      sv_html.load_layout_globals_from_config()
      self.page_layout = layout
      self.scale = scale
      sv_html.set_summary_positions(self)
      sv_html.generate_html_detail(self)
      if self.associations_html_source:
          self.associations_html_source = (
              sv_html.generate_html_associations(self, "source")
          )
      if self.associations_html_compare:
          self.associations_html_compare = (
              sv_html.generate_html_associations(self, "compare")
          )
      self._page_html = sv_html.generate_html_dataframe_page(self)
  
      f = open(filepath, "w", encoding="utf-8")
      f.write(self._page_html)
      f.close()
      if open_browser:
          self.verbose_print(
              f"Report {filepath} was generated! NOTEBOOK/COLAB USERS: the web browser MAY not pop up, regardless, the report IS saved in your notebook/colab files."
          )
          # Not sure how to work around this: not fatal but annoying...Notebook/colab
          # https://bugs.python.org/issue5993
          webbrowser.open("file://" + os.path.realpath(filepath))
      else:
          self.verbose_print(f"Report {filepath} was generated.")
      if len(self.corr_warning):
          print(
              "---\nWARNING: one or more correlations had an edge-case/error and a 1.0 correlation was assigned\n"
              "(likely due to only having a single row, containing non-NaN values for both correlated features)\n"
              "Affected correlations:" + str(self.corr_warning)
          )
  
      # Auto-log to comet_ml if desired & present
      self._comet_ml_logger = comet_ml_logger.CometLogger()
      if self._comet_ml_logger._logging:
          self.generate_comet_friendly_html()
          self._comet_ml_logger.log_html(self._page_html)
          self._comet_ml_logger.end()
  
imports: from typing import Union, List, Tuple
  import os
  import time
  import pandas
  from numpy import isnan
  from tqdm.auto import tqdm
  from sweetviz.sv_types import NumWithPercent, FeatureToProcess, FeatureType
  import sweetviz.from_dython
  import sweetviz.series_analyzer
  import sweetviz.utils
  from sweetviz.graph_associations import GraphAssoc
  from sweetviz.graph_associations import CORRELATION_ERROR
  from sweetviz.graph_associations import CORRELATION_IDENTICAL
  from sweetviz.graph_legend import GraphLegend
  from sweetviz.config import config
  import sweetviz.comet_ml_logger
  import sweetviz.sv_html
  from sweetviz.feature_config import FeatureConfig
  import webbrowser
  from sweetviz.config import config
label_desc: Use image node_id 16 for calling the DataframeReport obj's underlying member method code with example usage: obj.show_html(filepath, open_browser, layout, scale) without return types