class_docstr: SmartPlotter is a Bridge pattern decoupling plotting functions from SmartExplainer.
  The smartplotter class includes all the methods used to display graphics
  Each SmartPlotter method is easy to use from a Smart explainer object,
  just use the following syntax
  Attributes :
  explainer: object
      SmartExplainer instance to point to.
  Example
  --------
  >>> xpl.plot.my_plot_method(param=value)
class_docstr_tok: ["SmartPlotter","is","a","Bridge","pattern","decoupling","plotting","functions","from","SmartExplainer",".","The","smartplotter","class","includes","all","the","methods","used","to","display","graphics","Each","SmartPlotter","method","is","easy","to","use","from","a","Smart","explainer","object",",","just","use","the","following","syntax","Attributes",":","explainer",":","object","SmartExplainer","instance","to","point","to",".","Example","--","--","--","--",">",">",">","xpl.plot.my_plot_method","(","param=value",")"]
docstr: compute a local pred to display in local_plot
  Parameters
  ----------
  index: string, int, float, ...
      specify the row we want to pred
  label: int (default: None)
  Returns
  -------
  float: Predict or predict_proba value
code: def local_pred(self, index, label=None):
      """
      compute a local pred to display in local_plot
      Parameters
      ----------
      index: string, int, float, ...
          specify the row we want to pred
      label: int (default: None)
      Returns
      -------
      float: Predict or predict_proba value
      """
      if self.explainer._case == "classification":
          if hasattr(self.explainer.model, "predict_proba"):
              if not hasattr(self.explainer, "proba_values"):
                  self.explainer.predict_proba()
              value = (
                  self.explainer.proba_values.iloc[:, [label]]
                  .loc[index]
                  .values[0]
              )
          else:
              value = None
      elif self.explainer._case == "regression":
          if self.explainer.y_pred is not None:
              value = self.explainer.y_pred.loc[index]
          else:
              value = self.explainer.model.predict(
                  self.explainer.x_encoded.loc[[index]]
              )[0]
  
      if isinstance(value, pd.Series):
          value = value.values[0]
  
      return value
  
imports: import warnings
  from numbers import Number
  import random
  import copy
  import math
  import numpy
  from scipy.optimize import fsolve
  import scipy.cluster.hierarchy
  import pandas
  from plotly import graph_objs
  import plotly.express
  from plotly.subplots import make_subplots
  from plotly.offline import plot
  from shapash.manipulation.select_lines import select_lines
  from shapash.manipulation.summarize import compute_features_import, project_feature_values_1d, compute_corr
  from shapash.utils.utils import add_line_break, truncate_str, compute_digit_number, add_text, maximum_difference_sort_value, compute_sorted_variables_interactions_list_indices, compute_top_correlations_features
  from shapash.webapp.utils.utils import round_to_k
  from shapash.style.style_utils import colors_loading, select_palette, define_style
label_desc: Use image node_id 13 for calling the SmartPlotter obj's underlying member method code with example usage: obj.local_pred(index, label) and returns: value