code: def plot_dist_tree_leaves_values(
      tree: CausalTreeRegressor,
      title: str = "Leaves values distribution",
      figsize: tuple = (5, 5),
      fontsize: int = 12,
  ) -> None:
      """
      Create distplot for tree leaves values
      Args:
          tree: (CausalTreeRegressor), Tree object
          title: (str), plot title
          figsize: (tuple), figure size
          fontsize: (int), title font size
  
      Returns: None
  
      """
      tree_leaves_mask = get_tree_leaves_mask(tree)
      leaves_values = tree.tree_.value
      treatment_effects = leaves_values[:, 1] - leaves_values[:, 0]
      treatment_effects = treatment_effects.reshape(
          -1,
      )[tree_leaves_mask]
      fig, ax = plt.subplots(figsize=figsize)
      sns.distplot(
          treatment_effects,
          ax=ax,
      )
      plt.title(title, fontsize=fontsize)
      plt.show()
  
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 3 for calling a global function with example usage: plot_dist_tree_leaves_values(tree, title, figsize, fontsize) without return types