code: def generate_html_detail_numeric(
      feature_dict: dict, compare_dict: dict, dataframe_report
  ):
      template = jinja2_env.get_template("feature_detail_numeric.html")
  
      # Set some parameters for detail columns
      # ------------------------------------
      # Vertical
      spacing = config["Layout"].getint("cat_detail_col_spacing")
      cols = dict()
      detail_layout = dict()
      detail_layout["graph_y"] = config["Layout"].getint(
          "cat_detail_graph_y"
      )
      # detail_layout["breakdown_y"] = detail_layout["graph_y"] \
      #                                + feature_dict["detail_graphs"][0].size_in_inches[1] * 100 \
      #                                + config["Layout"].getint("cat_detail_breakdown_y_offset")
      # detail_layout["breakdown_height"] = 900 - detail_layout["breakdown_y"]
  
      # Set up ASSOCIATION data
      # ------------------------------------
      feature_name = feature_dict["name"]
      if dataframe_report._associations is not None:
          numerical = dataframe_report._associations[feature_name]
          # Filter by datatype NUMERICAL
          numerical = {
              k: v
              for k, v in numerical.items()
              if dataframe_report.get_type(k) == FeatureType.TYPE_NUM
              and k != feature_name
          }
  
          categorical = dataframe_report._associations[feature_name]
          # Filter by datatype CATEGORICAL
          categorical = {
              k: v
              for k, v in categorical.items()
              if dataframe_report.get_type(k) == FeatureType.TYPE_BOOL
              or dataframe_report.get_type(k) == FeatureType.TYPE_CAT
          }
  
          # Sort & get top
          max_num = config["Detail_Stats"].getint(
              "max_num_top_associations"
          )
          numerical = sorted(
              numerical.items(),
              key=cmp_to_key(cmp_assoc_values),
              reverse=True,
          )[:max_num]
          categorical = sorted(
              categorical.items(), key=itemgetter(1), reverse=True
          )[:max_num]
  
          # Set who's the target, for highlighting
          if dataframe_report._target is not None:
              numerical = add_is_target_or_not(
                  numerical, dataframe_report._target["name"]
              )
              categorical = add_is_target_or_not(
                  categorical, dataframe_report._target["name"]
              )
      else:
          max_num = None
          numerical = None
          categorical = None
  
      output = template.render(
          feature_dict=feature_dict,
          compare_dict=compare_dict,
          dataframe=dataframe_report,
          cols=cols,
          detail_layout=detail_layout,
          numerical=numerical,
          categorical=categorical,
      )
      return output
  
imports: import numpy
  import html
  from operator import itemgetter
  from jinja2 import Environment, PackageLoader
  import sweetviz.sv_html_formatters
  from sweetviz.config import config
  from sweetviz.sv_types import NumWithPercent, FeatureType, OTHERS_GROUPED
  from sweetviz.graph_associations import CORRELATION_ERROR
  from sweetviz.graph_associations import CORRELATION_IDENTICAL
  from functools import cmp_to_key
label_desc: Use image node_id 15 for calling a global function with example usage: generate_html_detail_numeric(feature_dict, compare_dict, dataframe_report) and returns: output