code: def plot_feature_split_proportions(model: SklearnModel, ax=None):
      if ax is None:
          _, ax = plt.subplots(1, 1)
      proportions = feature_split_proportions(model)
  
      y_pos = np.arange(len(proportions))
      name, count = list(proportions.keys()), list(proportions.values())
      props = pd.DataFrame({"name": name, "counts": count}).sort_values(
          "name", ascending=True
      )
      plt.barh(y_pos, props.counts, align="center", alpha=0.5)
      plt.yticks(y_pos, props.name)
      plt.xlabel("Proportion of all splits")
      plt.ylabel("Feature")
      plt.title("Proportion of Splits Made on Each Variable")
      return ax
  
file_path: imodels/imodels/experimental/bartpy/diagnostics/features.py
imports: from collections import Counter
  from typing import List, Mapping, Union, Optional
  import numpy
  import pandas
  import seaborn
  from matplotlib import pyplot
  from ..runner import run_models
  from ..sklearnmodel import SklearnModel
label_desc: Use image node_id 2 for calling a global function with example usage: plot_feature_split_proportions(model, ax) and returns: ax