class_docstr: Base class for interactive matplotlib plots.
  
  Args:
      figure: a ``matplotlib.figure.Figure``
      **kwargs: keyword arguments for the
          :class:`fiftyone.core.plots.base.InteractivePlot` constructor
class_docstr_tok: ["Base","class","for","interactive","matplotlib","plots",".","Args",":","figure",":","a","``","matplotlib.figure.Figure","``","*","*","kwargs",":","keyword","arguments","for","the",":","class",":","`","fiftyone.core.plots.base.InteractivePlot","`","constructor"]
code: def supports_session_updates(self):
      # matplotlib does not support redrawing outside of the main thread
      # https://stackoverflow.com/q/34764535
      return self._in_notebook_context
  
imports: import itertools
  import logging
  import numpy
  import matplotlib
  from matplotlib.widgets import Button, LassoSelector
  from matplotlib.path import Path
  import matplotlib.pyplot
  from mpl_toolkits.axes_grid1 import make_axes_locatable
  from mpl_toolkits.axes_grid1.inset_locator import InsetPosition
  from mpl_toolkits.mplot3d import Axes3D
  import sklearn.metrics.pairwise
  import sklearn.metrics
  import eta.core.utils
  import fiftyone.core.context
  import fiftyone.core.utils
  from .base import InteractivePlot
  from .utils import best_fit_line, load_button_icon, parse_lines_inputs, parse_locations, parse_scatter_inputs
label_desc: Use image node_id 2 for calling the InteractiveMatplotlibPlot obj's underlying member method code with example usage: obj.supports_session_updates() and returns: self