code: def component_callbacks(self, app):
      @app.callback(
          [
              Output("shap-dependence-index-" + self.dep_name, "value"),
              Output("shap-dependence-col-" + self.dep_name, "value"),
          ],
          [Input("shap-summary-graph-" + self.sum_name, "clickData")],
      )
      def display_scatter_click_data(clickdata):
          if (
              clickdata is not None
              and clickdata["points"][0] is not None
          ):
              if isinstance(
                  clickdata["points"][0]["y"], float
              ):  # detailed
                  index = (
                      clickdata["points"][0]["text"]
                      .split("=")[1]
                      .split("<br>")[0]
                  )
                  col = (
                      clickdata["points"][0]["text"]
                      .split("=")[1]
                      .split("<br>")[1]
                  )
                  return (index, col)
              elif isinstance(
                  clickdata["points"][0]["y"], str
              ):  # aggregate
                  # in aggregate clickdata returns col name -> type==str
                  col = clickdata["points"][0]["y"].split(" ")[1]
                  return (dash.no_update, col)
          raise PreventUpdate
  
imports: import dash
  from dash import html, dcc, Input, Output, State
  from dash.exceptions import PreventUpdate
  import dash_bootstrap_components
  from ..dashboard_methods import *
  from ..None import to_html
label_desc: Use image node_id 2 for calling the ShapSummaryDependenceConnector obj's underlying member method code with example usage: obj.component_callbacks(app) and returns: index,  col, dash,  col