code: def __init__(self, *, data=None, variables={}, legend=None):
      # TODO this is messy, we want the mapping to be agnostic about
      # the kind of plot to draw, but for the time being we need to set
      # this information so the SizeMapping can use it
      self._default_size_range = np.r_[0.5, 2] * np.square(
          mpl.rcParams["lines.markersize"]
      )
  
      super().__init__(data=data, variables=variables)
  
      self.legend = legend
  
imports: from functools import partial
  import warnings
  import numpy
  import pandas
  import matplotlib
  import matplotlib.pyplot
  from matplotlib.cbook import normalize_kwargs
  from ._base import VectorPlotter
  from .utils import adjust_legend_subtitles, _default_color, _deprecate_ci, _get_transform_functions, _scatter_legend_artist
  from ._statistics import EstimateAggregator, WeightedAggregator
  from .axisgrid import FacetGrid, _facet_docs
  from ._docstrings import DocstringComponents, _core_docs
label_desc: Use image node_id 1 to create a new _ScatterPlotter object from inherited base classes: _RelationalPlotter with example: obj = _ScatterPlotter()