docstr:  Fetch appropriate color for node
  Args:
      tree:    Tree class
      node_id: int, node index
  Returns: str
docstr_tok: ["Fetch","appropriate","color","for","node","Args",":","tree",":","Tree","class","node_id",":","int",",","node","index","Returns",":","str"]
code: def get_fill_color(self, tree: _tree.Tree, node_id: int) -> str:
      """
       Fetch appropriate color for node
      Args:
          tree:    Tree class
          node_id: int, node index
      Returns: str
      """
      if "rgb" not in self.colors:
          # Initialize colors and bounds if required
          self.colors["rgb"] = _color_brew(tree.n_classes[0])
          if tree.n_outputs != 1:
              # Find max and min impurities for multi-output
              self.colors["bounds"] = (
                  np.nanmin(-tree.impurity),
                  np.nanmax(-tree.impurity),
              )
          elif (
              tree.n_classes[0] == 1 and len(np.unique(tree.value)) != 1
          ):
              # Find max and min values in leaf nodes for regression
              self.colors["bounds"] = (
                  np.nanmin(tree.value),
                  np.nanmax(tree.value),
              )
      if tree.n_outputs == 1:
          node_val = (
              tree.value[node_id][0, :]
              / tree.weighted_n_node_samples[node_id]
          )
          if tree.n_classes[0] == 1:
              # Regression
              node_val = tree.value[node_id][0, :]
      else:
          # If multi-output color node by impurity
          node_val = -tree.impurity[node_id]
      return self.get_color(node_val)
  
imports: from collections import defaultdict
  import matplotlib.pyplot
  import numpy
  import pydotplus
  import seaborn
  from sklearn.tree import _tree
  from sklearn.tree._export import _MPLTreeExporter, _color_brew
  from sklearn.utils.validation import check_is_fitted
  from .None import CausalTreeRegressor
  from .utils import get_tree_leaves_mask
label_desc: Use image node_id 4 for calling the _MPLCTreeExporter obj's underlying member method code with example usage: obj.get_fill_color(tree, node_id) and returns: self