class_docstr: Create plots for `InteractTargetPlot` or `InteractPredictPlot`
  
  Methods
  -------
  plot_matplotlib : plot using matplotlib
  plot_plotly : plot using plotly
class_docstr_tok: ["Create","plots","for","`","InteractTargetPlot","`","or","`","InteractPredictPlot","`","Methods","--","--","--","-","plot_matplotlib",":","plot","using","matplotlib","plot_plotly",":","plot","using","plotly"]
code: def __init__(
      self,
      plot_obj,
      which_classes,
      plot_params,
  ):
      super().__init__(
          plot_obj,
          which_classes,
          plot_params,
      )
      self.feat_names = [
          info.name for info in self.plot_obj.feature_infos
      ]
      self.feat_types = [
          info.type for info in self.plot_obj.feature_infos
      ]
      self.display_columns = [
          info.display_columns for info in self.plot_obj.feature_infos
      ]
      self.percentile_columns = [
          info.percentile_columns
          for info in self.plot_obj.feature_infos
      ]
      self.cmaps = cycle(self.plot_style.marker["cmaps"])
      (
          self.count_min,
          self.count_max,
          self.marker_sizes,
      ) = self._get_interact_marker_sizes()
  
imports: from .styles import _prepare_plot_style, _axes_modify, _display_percentile, _modify_legend_axes, _get_axes_label
  import numpy
  from itertools import cycle
  import plotly.express
  import matplotlib
  import matplotlib.pyplot
  from matplotlib.gridspec import GridSpecFromSubplotSpec
  from mpl_toolkits.axes_grid1.inset_locator import inset_axes
  import matplotlib.patheffects
  import plotly.graph_objects
label_desc: Use image node_id 1 to create a new InteractInfoPlotEngine object from inherited base classes: BaseInfoPlotEngine with example: obj = InteractInfoPlotEngine(plot_obj, which_classes, plot_params)