class_docstr: DataFrame Accessor & Method for creating Vega-Lite visualizations.
  
  Examples
  --------
  >>> df.vgplot.line()  # doctest: +SKIP
  >>> df.vgplot.area()  # doctest: +SKIP
  >>> df.vgplot.bar()  # doctest: +SKIP
  >>> df.vgplot.barh()  # doctest: +SKIP
  >>> df.vgplot.hist()  # doctest: +SKIP
  >>> df.vgplot.kde()  # doctest: +SKIP
  >>> df.vgplot.density()  # doctest: +SKIP
  >>> df.vgplot.scatter(x, y)  # doctest: +SKIP
  >>> df.vgplot.hexbin(x, y)  # doctest: +SKIP
  
  Plotting methods can also be accessed by calling the accessor as a method
  with the ``kind`` argument: ``df.vgplot(kind='line', **kwds)``
  is equivalent to ``df.vgplot.line(**kwds)``
docstr: Scatter plot for DataFrame data
  
  >>> dataframe.vgplot.scatter(x, y)  # doctest: +SKIP
  
  Parameters
  ----------
  x : string
      the column to use as the x-axis variable.
  y : string
      the column to use as the y-axis variable.
  c : string, optional
      the column to use to encode the color of the points
  s : string, optional
      the column to use to encode the size of the points
  alpha : float, optional
      transparency level, 0 <= alpha <= 1
  width : int, optional
      the width of the plot in pixels
  height : int, optional
      the height of the plot in pixels
  ax: altair.Chart, optional
      chart to be overlayed with this vis (convinience method for `chart1 + chart2`)
  
  Returns
  -------
  chart : alt.Chart
      altair chart representation
docstr_tok: ["Scatter","plot","for","DataFrame","data",">",">",">","dataframe.vgplot.scatter","(","x",",","y",")","#","doctest",":","+SKIP","Parameters","--","--","--","--","--","x",":","string","the","column","to","use","as","the","x-axis","variable",".","y",":","string","the","column","to","use","as","the","y-axis","variable",".","c",":","string",",","optional","the","column","to","use","to","encode","the","color","of","the","points","s",":","string",",","optional","the","column","to","use","to","encode","the","size","of","the","points","alpha",":","float",",","optional","transparency","level",",","0","<","=","alpha","<","=","1","width",":","int",",","optional","the","width","of","the","plot","in","pixels","height",":","int",",","optional","the","height","of","the","plot","in","pixels","ax",":","altair.Chart",",","optional","chart","to","be","overlayed","with","this","vis","(","convinience","method","for","`","chart1","+","chart2","`",")","Returns","--","--","--","-","chart",":","alt.Chart","altair","chart","representation"]
code: def scatter(
      self,
      x,
      y,
      c=None,
      s=None,
      alpha=None,
      width=450,
      height=300,
      ax=None,
      **kwds,
  ):
      """Scatter plot for DataFrame data
  
      >>> dataframe.vgplot.scatter(x, y)  # doctest: +SKIP
  
      Parameters
      ----------
      x : string
          the column to use as the x-axis variable.
      y : string
          the column to use as the y-axis variable.
      c : string, optional
          the column to use to encode the color of the points
      s : string, optional
          the column to use to encode the size of the points
      alpha : float, optional
          transparency level, 0 <= alpha <= 1
      width : int, optional
          the width of the plot in pixels
      height : int, optional
          the height of the plot in pixels
      ax: altair.Chart, optional
          chart to be overlayed with this vis (convinience method for `chart1 + chart2`)
  
      Returns
      -------
      chart : alt.Chart
          altair chart representation
      """
      df = self._data
  
      chart = (
          self._plot(
              width=width,
              height=height,
              title=kwds.pop("title", ""),
              figsize=kwds.pop("figsize", None),
              dpi=kwds.pop("dpi", None),
          )
          .mark_point()
          .encode(
              x=_x(x, df, ordinal_threshold=0),
              y=_y(y, df, ordinal_threshold=0),
          )
      )
  
      if alpha is not None:
          assert 0 <= alpha <= 1
          chart = chart.encode(opacity=alt.value(alpha))
  
      if c is not None:
          chart.encoding["color"] = {
              "field": c,
              "type": infer_vegalite_type(df[c]),
          }
  
      if s is not None:
          chart.encoding["size"] = {
              "field": s,
              "type": infer_vegalite_type(df[s]),
          }
  
      if ax is not None:
          return ax + chart
  
      warn_if_keywords_unused("scatter", kwds)
      return chart
  
imports: import numpy
  import pandas
  import altair
  from ._utils import infer_vegalite_type, unpivot_frame, warn_if_keywords_unused, validate_aggregation
  from ._pandas_internals import PandasObject, register_dataframe_accessor, register_series_accessor
label_desc: Use image node_id 3 for calling the FramePlotMethods obj's underlying member method code with example usage: obj.scatter(x, y, c, s, alpha, width, height, ax) and returns: chart, unknown