docstr: :param df:
  :param layout:
  :param graph_kwargs:
  :param name_dict:
  :param kwargs:
      layout: dict
          go.Layout parameters
      graph_kwargs: dict
          Graph parameters, eg: go.Bar(**graph_kwargs)
docstr_tok: [":","param","df",":",":","param","layout",":",":","param","graph_kwargs",":",":","param","name_dict",":",":","param","kwargs",":","layout",":","dict","go.Layout","parameters","graph_kwargs",":","dict","Graph","parameters",",","eg",":","go.Bar","(","*","*","graph_kwargs",")"]
code: def __init__(
      self,
      df: pd.DataFrame = None,
      layout: dict = None,
      graph_kwargs: dict = None,
      name_dict: dict = None,
      **kwargs,
  ):
      """
  
      :param df:
      :param layout:
      :param graph_kwargs:
      :param name_dict:
      :param kwargs:
          layout: dict
              go.Layout parameters
          graph_kwargs: dict
              Graph parameters, eg: go.Bar(**graph_kwargs)
      """
      self._df = df
  
      self._layout = dict() if layout is None else layout
      self._graph_kwargs = (
          dict() if graph_kwargs is None else graph_kwargs
      )
      self._name_dict = name_dict
  
      self.data = None
  
      self._init_parameters(**kwargs)
      self._init_data()
  
imports: import math
  import importlib
  from typing import Iterable
  import pandas
  import plotly.offline
  import plotly.graph_objs
  from plotly.subplots import make_subplots
  from plotly.figure_factory import create_distplot
label_desc: Use image node_id 1 to create a new BaseGraph object  with example: obj = BaseGraph(df, layout, graph_kwargs, name_dict)