code: def get_mapper_graph(
      simplicial_complex,
      color_function=None,
      color_function_name=None,
      colorscale=None,
      custom_tooltips=None,
      custom_meta=None,
      X=None,
      X_names=None,
      lens=None,
      lens_names=None,
  ):
      
  
      if not colorscale:
          colorscale = default_colorscale
  
      if not len(simplicial_complex["nodes"]) > 0:
          raise Exception(
              "A mapper graph should have more than 0 nodes. This might be because your clustering algorithm might be too sensitive and be classifying all points as noise."
          )
  
      color_function = init_color_function(simplicial_complex, color_function)
  
      if X_names is None:
          X_names = []
  
      if lens_names is None:
          lens_names = []
  
      json_graph = scomplex_to_graph(
          simplicial_complex,
          color_function,
          X,
          X_names,
          lens,
          lens_names,
          custom_tooltips,
          colorscale=colorscale,
      )
      colorf_distribution = graph_data_distribution(
          simplicial_complex, color_function, colorscale
      )
      mapper_summary = format_meta(
          simplicial_complex,
          color_function_name=color_function_name,
          custom_meta=custom_meta,
      )
  
      return json_graph, mapper_summary, colorf_distribution
docs: Generate data for mapper graph visualization and annotation.
  
      Parameters
      ----------
      simplicial_complex : dict
          Simplicial complex is the output from the KeplerMapper `map` method.
      
      Returns
      -------
      the graph dictionary in a json representation, the mapper summary
      and the node_distribution
  
      Example
      -------
  
      >>> kmgraph,  mapper_summary, n_distribution = get_mapper_graph(simplicial_complex)