docstr: Display dtreeviz decision path
  
  Args:
      explainer (Explainer): explainer object constructed with either
                  ClassifierExplainer() or RegressionExplainer()
      title (str, optional): Title of tab or page. Defaults to
                  "Decision path graph".
      name (str, optional): unique name to add to Component elements.
                  If None then random uuid is generated to make sure
                  it's unique. Defaults to None.
      subtitle (str): subtitle
      hide_title (bool, optional): hide title
      hide_subtitle (bool, optional): Hide subtitle. Defaults to False.
      hide_index (bool, optional): hide index selector. Defaults to False.
      hide_highlight (bool, optional): hide tree idx selector. Defaults to False.
      hide_button (bool, optional): hide the button, Defaults to False.
      hide_selector (bool, optional): hide pos label selectors. Defaults to False.
      index_dropdown (bool, optional): Use dropdown for index input instead
          of free text input. Defaults to True.
      pos_label ({int, str}, optional): initial pos label.
                  Defaults to explainer.pos_label
      index ({str, int}, optional): Initial index to display. Defaults to None.
      highlight ([type], optional): Initial tree idx to display. Defaults to None.
      description (str, optional): Tooltip to display when hover over
          component title. When None default text is shown.
docstr_tok: ["Display","dtreeviz","decision","path","Args",":","explainer","(","Explainer",")",":","explainer","object","constructed","with","either","ClassifierExplainer","(",")","or","RegressionExplainer","(",")","title","(","str",",","optional",")",":","Title","of","tab","or","page",".","Defaults","to","``","Decision","path","graph","''",".","name","(","str",",","optional",")",":","unique","name","to","add","to","Component","elements",".","If","None","then","random","uuid","is","generated","to","make","sure","it","'s","unique",".","Defaults","to","None",".","subtitle","(","str",")",":","subtitle","hide_title","(","bool",",","optional",")",":","hide","title","hide_subtitle","(","bool",",","optional",")",":","Hide","subtitle",".","Defaults","to","False",".","hide_index","(","bool",",","optional",")",":","hide","index","selector",".","Defaults","to","False",".","hide_highlight","(","bool",",","optional",")",":","hide","tree","idx","selector",".","Defaults","to","False",".","hide_button","(","bool",",","optional",")",":","hide","the","button",",","Defaults","to","False",".","hide_selector","(","bool",",","optional",")",":","hide","pos","label","selectors",".","Defaults","to","False",".","index_dropdown","(","bool",",","optional",")",":","Use","dropdown","for","index","input","instead","of","free","text","input",".","Defaults","to","True",".","pos_label","(","{","int",",","str","}",",","optional",")",":","initial","pos","label",".","Defaults","to","explainer.pos_label","index","(","{","str",",","int","}",",","optional",")",":","Initial","index","to","display",".","Defaults","to","None",".","highlight","(","[","type","]",",","optional",")",":","Initial","tree","idx","to","display",".","Defaults","to","None",".","description","(","str",",","optional",")",":","Tooltip","to","display","when","hover","over","component","title",".","When","None","default","text","is","shown","."]
code: def __init__(
      self,
      explainer,
      title="Decision path graph",
      name=None,
      subtitle="Visualizing entire decision tree",
      hide_title=False,
      hide_subtitle=False,
      hide_index=False,
      hide_highlight=False,
      hide_button=False,
      hide_selector=False,
      index_dropdown=True,
      pos_label=None,
      index=None,
      highlight=None,
      description=None,
      **kwargs,
  ):
      """Display dtreeviz decision path
  
      Args:
          explainer (Explainer): explainer object constructed with either
                      ClassifierExplainer() or RegressionExplainer()
          title (str, optional): Title of tab or page. Defaults to
                      "Decision path graph".
          name (str, optional): unique name to add to Component elements.
                      If None then random uuid is generated to make sure
                      it's unique. Defaults to None.
          subtitle (str): subtitle
          hide_title (bool, optional): hide title
          hide_subtitle (bool, optional): Hide subtitle. Defaults to False.
          hide_index (bool, optional): hide index selector. Defaults to False.
          hide_highlight (bool, optional): hide tree idx selector. Defaults to False.
          hide_button (bool, optional): hide the button, Defaults to False.
          hide_selector (bool, optional): hide pos label selectors. Defaults to False.
          index_dropdown (bool, optional): Use dropdown for index input instead
              of free text input. Defaults to True.
          pos_label ({int, str}, optional): initial pos label.
                      Defaults to explainer.pos_label
          index ({str, int}, optional): Initial index to display. Defaults to None.
          highlight ([type], optional): Initial tree idx to display. Defaults to None.
          description (str, optional): Tooltip to display when hover over
              component title. When None default text is shown.
      """
      super().__init__(explainer, title, name)
      # if explainer.is_regression:
      #     raise ValueError("DecisionPathGraphComponent only available for classifiers for now!")
  
      self.index_name = "decisionpath-index-" + self.name
      self.highlight_name = "decisionpath-highlight-" + self.name
      if self.description is None:
          self.description = """
          Visualizes the path that an observation took down a specific decision tree,
          by showing the entire decision tree and the path that a specific observation
          took down this tree.
          """
  
      self.selector = PosLabelSelector(
          explainer, name=self.name, pos_label=pos_label
      )
      self.index_selector = IndexSelector(
          explainer,
          "decisionpath-index-" + self.name,
          index=index,
          index_dropdown=index_dropdown,
          **kwargs,
      )
      self.register_dependencies("shadow_trees")
  
imports: import dash
  from dash import html, dcc, Input, Output, State, dash_table
  from dash.exceptions import PreventUpdate
  import dash_bootstrap_components
  from ..explainers import RandomForestExplainer, XGBExplainer
  from ..dashboard_methods import *
  from .classifier_components import ClassifierRandomIndexComponent
  from .connectors import IndexConnector, HighlightConnector
  from ..None import to_html
label_desc: Use image node_id 1 to create a new DecisionPathGraphComponent object from inherited base classes: ExplainerComponent with example: obj = DecisionPathGraphComponent(explainer, title, name, subtitle, hide_title, hide_subtitle, hide_index, hide_highlight, hide_button, hide_selector, index_dropdown, pos_label, index, highlight, description)