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 _draw_interact_plotly(self, target, cmap, fig, grids):
      df = self.plot_obj.plot_df
      texts = [
          f"{item['count']}<br>{item[target]:.3f}"
          for item in df.to_dict("records")
      ]
      colors = getattr(px.colors.sequential, cmap)
      value_min, value_max = df[target].min(), df[target].max()
  
      name = (
          "target"
          if self.plot_obj.plot_type == "interact_target"
          else "predict"
      )
      fig.add_trace(
          go.Scatter(
              x=df["x1"].values,
              y=df["x2"].values,
              text=texts,
              textposition="middle center",
              hovertemplate="%{text}",
              mode="markers+text"
              if self.plot_style.annotate
              else "markers",
              name="count+" + name,
              marker=dict(
                  size=self.marker_sizes,
                  color=df[target].values,
                  colorscale=cmap,
                  line=dict(
                      width=self.plot_style.marker["line_width"],
                      color=colors[-1],
                  ),
              ),
          ),
          **grids,
      )
  
      for is_y in [False, True]:
          self._set_ticks_plotly(fig, grids, is_y)
  
      return value_min, value_max
  
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 7 for calling the InteractInfoPlotEngine obj's underlying member method code with example usage: obj._draw_interact_plotly(target, cmap, fig, grids) and returns: value_min,  value_max