class_docstr: Make plots of Series or DataFrame.
  
  Uses the backend specified by the
  option ``plotting.backend``. By default, matplotlib is used.
  
  Parameters
  ----------
  data : Series or DataFrame
      The object for which the method is called.
  x : label or position, default None
      Only used if data is a DataFrame.
  y : label, position or list of label, positions, default None
      Allows plotting of one column versus another. Only used if data is a
      DataFrame.
  kind : str
      The kind of plot to produce:
  
      - 'line' : line plot (default)
      - 'bar' : vertical bar plot
      - 'barh' : horizontal bar plot
      - 'hist' : histogram
      - 'box' : boxplot
      - 'kde' : Kernel Density Estimation plot
      - 'density' : same as 'kde'
      - 'area' : area plot
      - 'pie' : pie plot
      - 'scatter' : scatter plot (DataFrame only)
      - 'hexbin' : hexbin plot (DataFrame only)
  ax : matplotlib axes object, default None
      An axes of the current figure.
  subplots : bool or sequence of iterables, default False
      Whether to group columns into subplots:
  
      - ``False`` : No subplots will be used
      - ``True`` : Make separate subplots for each column.
      - sequence of iterables of column labels: Create a subplot for each
        group of columns. For example `[('a', 'c'), ('b', 'd')]` will
        create 2 subplots: one with columns 'a' and 'c', and one
        with columns 'b' and 'd'. Remaining columns that aren't specified
        will be plotted in additional subplots (one per column).
  
        .. versionadded:: 1.5.0
  
  sharex : bool, default True if ax is None else False
      In case ``subplots=True``, share x axis and set some x axis labels
      to invisible; defaults to True if ax is None otherwise False if
      an ax is passed in; Be aware, that passing in both an ax and
      ``sharex=True`` will alter all x axis labels for all axis in a figure.
  sharey : bool, default False
      In case ``subplots=True``, share y axis and set some y axis labels to invisible.
  layout : tuple, optional
      (rows, columns) for the layout of subplots.
  figsize : a tuple (width, height) in inches
      Size of a figure object.
  use_index : bool, default True
      Use index as ticks for x axis.
  title : str or list
      Title to use for the plot. If a string is passed, print the string
      at the top of the figure. If a list is passed and `subplots` is
      True, print each item in the list above the corresponding subplot.
  grid : bool, default None (matlab style default)
      Axis grid lines.
  legend : bool or {'reverse'}
      Place legend on axis subplots.
  style : list or dict
      The matplotlib line style per column.
  logx : bool or 'sym', default False
      Use log scaling or symlog scaling on x axis.
  
  logy : bool or 'sym' default False
      Use log scaling or symlog scaling on y axis.
  
  loglog : bool or 'sym', default False
      Use log scaling or symlog scaling on both x and y axes.
  
  xticks : sequence
      Values to use for the xticks.
  yticks : sequence
      Values to use for the yticks.
  xlim : 2-tuple/list
      Set the x limits of the current axes.
  ylim : 2-tuple/list
      Set the y limits of the current axes.
  xlabel : label, optional
      Name to use for the xlabel on x-axis. Default uses index name as xlabel, or the
      x-column name for planar plots.
  
      .. versionchanged:: 2.0.0
  
          Now applicable to histograms.
  
  ylabel : label, optional
      Name to use for the ylabel on y-axis. Default will show no ylabel, or the
      y-column name for planar plots.
  
      .. versionchanged:: 2.0.0
  
          Now applicable to histograms.
  
  rot : float, default None
      Rotation for ticks (xticks for vertical, yticks for horizontal
      plots).
  fontsize : float, default None
      Font size for xticks and yticks.
  colormap : str or matplotlib colormap object, default None
      Colormap to select colors from. If string, load colormap with that
      name from matplotlib.
  colorbar : bool, optional
      If True, plot colorbar (only relevant for 'scatter' and 'hexbin'
      plots).
  position : float
      Specify relative alignments for bar plot layout.
      From 0 (left/bottom-end) to 1 (right/top-end). Default is 0.5
      (center).
  table : bool, Series or DataFrame, default False
      If True, draw a table using the data in the DataFrame and the data
      will be transposed to meet matplotlib's default layout.
      If a Series or DataFrame is passed, use passed data to draw a
      table.
  yerr : DataFrame, Series, array-like, dict and str
      See :ref:`Plotting with Error Bars <visualization.errorbars>` for
      detail.
  xerr : DataFrame, Series, array-like, dict and str
      Equivalent to yerr.
  stacked : bool, default False in line and bar plots, and True in area plot
      If True, create stacked plot.
  secondary_y : bool or sequence, default False
      Whether to plot on the secondary y-axis if a list/tuple, which
      columns to plot on secondary y-axis.
  mark_right : bool, default True
      When using a secondary_y axis, automatically mark the column
      labels with "(right)" in the legend.
  include_bool : bool, default is False
      If True, boolean values can be plotted.
  backend : str, default None
      Backend to use instead of the backend specified in the option
      ``plotting.backend``. For instance, 'matplotlib'. Alternatively, to
      specify the ``plotting.backend`` for the whole session, set
      ``pd.options.plotting.backend``.
  **kwargs
      Options to pass to matplotlib plotting method.
  
  Returns
  -------
  :class:`matplotlib.axes.Axes` or numpy.ndarray of them
      If the backend is not the default matplotlib one, the return value
      will be the object returned by the backend.
  
  Notes
  -----
  - See matplotlib documentation online for more on this subject
  - If `kind` = 'bar' or 'barh', you can specify relative alignments
    for bar plot layout by `position` keyword.
    From 0 (left/bottom-end) to 1 (right/top-end). Default is 0.5
    (center)
  
  Examples
  --------
  For Series:
  
  .. plot::
      :context: close-figs
  
      >>> ser = pd.Series([1, 2, 3, 3])
      >>> plot = ser.plot(kind='hist', title="My plot")
  
  For DataFrame:
  
  .. plot::
      :context: close-figs
  
      >>> df = pd.DataFrame({'length': [1.5, 0.5, 1.2, 0.9, 3],
      ...                   'width': [0.7, 0.2, 0.15, 0.2, 1.1]},
      ...                   index=['pig', 'rabbit', 'duck', 'chicken', 'horse'])
      >>> plot = df.plot(title="DataFrame Plot")
  
  For SeriesGroupBy:
  
  .. plot::
      :context: close-figs
  
      >>> lst = [-1, -2, -3, 1, 2, 3]
      >>> ser = pd.Series([1, 2, 2, 4, 6, 6], index=lst)
      >>> plot = ser.groupby(lambda x: x > 0).plot(title="SeriesGroupBy Plot")
  
  For DataFrameGroupBy:
  
  .. plot::
      :context: close-figs
  
      >>> df = pd.DataFrame({"col1" : [1, 2, 3, 4],
      ...                   "col2" : ["A", "B", "A", "B"]})
      >>> plot = df.groupby("col2").plot(kind="bar", title="DataFrameGroupBy Plot")
docstr: Create a scatter plot with varying marker point size and color.
  
  The coordinates of each point are defined by two dataframe columns and
  filled circles are used to represent each point. This kind of plot is
  useful to see complex correlations between two variables. Points could
  be for instance natural 2D coordinates like longitude and latitude in
  a map or, in general, any pair of metrics that can be plotted against
  each other.
  
  Parameters
  ----------
  x : int or str
      The column name or column position to be used as horizontal
      coordinates for each point.
  y : int or str
      The column name or column position to be used as vertical
      coordinates for each point.
  s : str, scalar or array-like, optional
      The size of each point. Possible values are:
  
      - A string with the name of the column to be used for marker's size.
  
      - A single scalar so all points have the same size.
  
      - A sequence of scalars, which will be used for each point's size
        recursively. For instance, when passing [2,14] all points size
        will be either 2 or 14, alternatively.
  
  c : str, int or array-like, optional
      The color of each point. Possible values are:
  
      - A single color string referred to by name, RGB or RGBA code,
        for instance 'red' or '#a98d19'.
  
      - A sequence of color strings referred to by name, RGB or RGBA
        code, which will be used for each point's color recursively. For
        instance ['green','yellow'] all points will be filled in green or
        yellow, alternatively.
  
      - A column name or position whose values will be used to color the
        marker points according to a colormap.
  
  **kwargs
      Keyword arguments to pass on to :meth:`DataFrame.plot`.
  
  Returns
  -------
  :class:`matplotlib.axes.Axes` or numpy.ndarray of them
  
  See Also
  --------
  matplotlib.pyplot.scatter : Scatter plot using multiple input data
      formats.
  
  Examples
  --------
  Let's see how to draw a scatter plot using coordinates from the values
  in a DataFrame's columns.
  
  .. plot::
      :context: close-figs
  
      >>> df = pd.DataFrame([[5.1, 3.5, 0], [4.9, 3.0, 0], [7.0, 3.2, 1],
      ...                    [6.4, 3.2, 1], [5.9, 3.0, 2]],
      ...                   columns=['length', 'width', 'species'])
      >>> ax1 = df.plot.scatter(x='length',
      ...                       y='width',
      ...                       c='DarkBlue')
  
  And now with the color determined by a column as well.
  
  .. plot::
      :context: close-figs
  
      >>> ax2 = df.plot.scatter(x='length',
      ...                       y='width',
      ...                       c='species',
      ...                       colormap='viridis')
docstr_tok: ["Create","a","scatter","plot","with","varying","marker","point","size","and","color",".","The","coordinates","of","each","point","are","defined","by","two","dataframe","columns","and","filled","circles","are","used","to","represent","each","point",".","This","kind","of","plot","is","useful","to","see","complex","correlations","between","two","variables",".","Points","could","be","for","instance","natural","2D","coordinates","like","longitude","and","latitude","in","a","map","or",",","in","general",",","any","pair","of","metrics","that","can","be","plotted","against","each","other",".","Parameters","--","--","--","--","--","x",":","int","or","str","The","column","name","or","column","position","to","be","used","as","horizontal","coordinates","for","each","point",".","y",":","int","or","str","The","column","name","or","column","position","to","be","used","as","vertical","coordinates","for","each","point",".","s",":","str",",","scalar","or","array-like",",","optional","The","size","of","each","point",".","Possible","values","are",":","-","A","string","with","the","name","of","the","column","to","be","used","for","marker","'s","size",".","-","A","single","scalar","so","all","points","have","the","same","size",".","-","A","sequence","of","scalars",",","which","will","be","used","for","each","point","'s","size","recursively",".","For","instance",",","when","passing","[","2,14","]","all","points","size","will","be","either","2","or","14",",","alternatively",".","c",":","str",",","int","or","array-like",",","optional","The","color","of","each","point",".","Possible","values","are",":","-","A","single","color","string","referred","to","by","name",",","RGB","or","RGBA","code",",","for","instance","'red","'","or","'","#","a98d19","'",".","-","A","sequence","of","color","strings","referred","to","by","name",",","RGB","or","RGBA","code",",","which","will","be","used","for","each","point","'s","color","recursively",".","For","instance","[","'green","'",",","'yellow","'","]","all","points","will","be","filled","in","green","or","yellow",",","alternatively",".","-","A","column","name","or","position","whose","values","will","be","used","to","color","the","marker","points","according","to","a","colormap",".","*","*","kwargs","Keyword","arguments","to","pass","on","to",":","meth",":","`","DataFrame.plot","`",".","Returns","--","--","--","-",":","class",":","`","matplotlib.axes.Axes","`","or","numpy.ndarray","of","them","See","Also","--","--","--","--","matplotlib.pyplot.scatter",":","Scatter","plot","using","multiple","input","data","formats",".","Examples","--","--","--","--","Let","'s","see","how","to","draw","a","scatter","plot","using","coordinates","from","the","values","in","a","DataFrame","'s","columns",".","..","plot",":",":",":","context",":","close-figs",">",">",">","df","=","pd.DataFrame","(","[","[","5.1",",","3.5",",","0","]",",","[","4.9",",","3.0",",","0","]",",","[","7.0",",","3.2",",","1","]",",","...","[","6.4",",","3.2",",","1","]",",","[","5.9",",","3.0",",","2","]","]",",","...","columns=","[","'length","'",",","'width","'",",","'species","'","]",")",">",">",">","ax1","=","df.plot.scatter","(","x='length","'",",","...","y='width","'",",","...","c='DarkBlue","'",")","And","now","with","the","color","determined","by","a","column","as","well",".","..","plot",":",":",":","context",":","close-figs",">",">",">","ax2","=","df.plot.scatter","(","x='length","'",",","...","y='width","'",",","...","c='species","'",",","...","colormap='viridis","'",")"]
code: def scatter(
      self,
      x: Hashable,
      y: Hashable,
      s: Hashable | Sequence[Hashable] | None = None,
      c: Hashable | Sequence[Hashable] | None = None,
      **kwargs,
  ) -> PlotAccessor:
      """
      Create a scatter plot with varying marker point size and color.
  
      The coordinates of each point are defined by two dataframe columns and
      filled circles are used to represent each point. This kind of plot is
      useful to see complex correlations between two variables. Points could
      be for instance natural 2D coordinates like longitude and latitude in
      a map or, in general, any pair of metrics that can be plotted against
      each other.
  
      Parameters
      ----------
      x : int or str
          The column name or column position to be used as horizontal
          coordinates for each point.
      y : int or str
          The column name or column position to be used as vertical
          coordinates for each point.
      s : str, scalar or array-like, optional
          The size of each point. Possible values are:
  
          - A string with the name of the column to be used for marker's size.
  
          - A single scalar so all points have the same size.
  
          - A sequence of scalars, which will be used for each point's size
            recursively. For instance, when passing [2,14] all points size
            will be either 2 or 14, alternatively.
  
      c : str, int or array-like, optional
          The color of each point. Possible values are:
  
          - A single color string referred to by name, RGB or RGBA code,
            for instance 'red' or '#a98d19'.
  
          - A sequence of color strings referred to by name, RGB or RGBA
            code, which will be used for each point's color recursively. For
            instance ['green','yellow'] all points will be filled in green or
            yellow, alternatively.
  
          - A column name or position whose values will be used to color the
            marker points according to a colormap.
  
      **kwargs
          Keyword arguments to pass on to :meth:`DataFrame.plot`.
  
      Returns
      -------
      :class:`matplotlib.axes.Axes` or numpy.ndarray of them
  
      See Also
      --------
      matplotlib.pyplot.scatter : Scatter plot using multiple input data
          formats.
  
      Examples
      --------
      Let's see how to draw a scatter plot using coordinates from the values
      in a DataFrame's columns.
  
      .. plot::
          :context: close-figs
  
          >>> df = pd.DataFrame([[5.1, 3.5, 0], [4.9, 3.0, 0], [7.0, 3.2, 1],
          ...                    [6.4, 3.2, 1], [5.9, 3.0, 2]],
          ...                   columns=['length', 'width', 'species'])
          >>> ax1 = df.plot.scatter(x='length',
          ...                       y='width',
          ...                       c='DarkBlue')
  
      And now with the color determined by a column as well.
  
      .. plot::
          :context: close-figs
  
          >>> ax2 = df.plot.scatter(x='length',
          ...                       y='width',
          ...                       c='species',
          ...                       colormap='viridis')
      """
      return self(kind="scatter", x=x, y=y, s=s, c=c, **kwargs)
  
imports: from __future__ import annotations
  import importlib
  from typing import TYPE_CHECKING, Callable, Literal
  from pandas._config import get_option
  from pandas.util._decorators import Appender, Substitution
  from pandas.core.dtypes.common import is_integer, is_list_like
  from pandas.core.dtypes.generic import ABCDataFrame, ABCSeries
  from pandas.core.base import PandasObject
label_desc: Use image node_id 12 for calling the PlotAccessor obj's underlying member method code with example usage: obj.scatter(x, y, s, c) and returns: self