code: def build(self):
      base_code = build_code_export(
          self.data_id,
          imports="{}\n\n".format(
              "\n".join(
                  [
                      "import numpy as np",
                      "import pandas as pd",
                      "import plotly.graph_objs as go",
                  ]
              )
          ),
      )
      return_data, code = self.analysis.build(self)
      return dict(
          code=build_final_chart_code(base_code + code),
          query=self.query,
          cols=global_state.get_dtypes(self.data_id),
          dtype=self.dtype,
          chart_type=self.analysis_type,
          timestamp=round(time.time() * 1000),
          **return_data,
      )
  
imports: import numpy
  import pandas
  import plotly.express
  import plotly.graph_objs
  import pprint
  import scipy.stats
  import time
  import dtale.global_state
  import dtale.pandas_util
  from dtale.code_export import build_code_export, build_final_chart_code
  from dtale.column_builders import clean, clean_code
  from dtale.describe import load_describe
  from dtale.query import build_query, load_filterable_data
  from dtale.utils import apply, classify_type, find_dtype, find_dtype_formatter, find_selected_column, get_bool_arg, get_int_arg, get_str_arg, grid_columns, grid_formatter, json_float, json_timestamp, make_list
label_desc: Use image node_id 2 for calling the ColumnAnalysis obj's underlying member method code with example usage: obj.build() and returns: dict