class_docstr: DataFrame plotting accessor and method
  
  Examples
  --------
  >>> df.plot_bokeh.line()
  >>> df.plot_bokeh.scatter('x', 'y')
  >>> df.plot_bokeh.hexbin()
  
  These plotting methods can also be accessed by calling the accessor as a
  method with the ``kind`` argument:
  ``df.plot_bokeh(kind='line')`` is equivalent to ``df.plot_bokeh.line()``
class_docstr_tok: ["DataFrame","plotting","accessor","and","method","Examples","--","--","--","--",">",">",">","df.plot_bokeh.line","(",")",">",">",">","df.plot_bokeh.scatter","(","'","x","'",",","'","y","'",")",">",">",">","df.plot_bokeh.hexbin","(",")","These","plotting","methods","can","also","be","accessed","by","calling","the","accessor","as","a","method","with","the","``","kind","``","argument",":","``","df.plot_bokeh","(","kind='line","'",")","``","is","equivalent","to","``","df.plot_bokeh.line","(",")","``"]
docstr: Create a scatter plot with varying marker 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.
  
  category : str or object
      A column name whose values will be used to color the
      marker points according to a colormap.
  
  **kwds
      Keyword arguments to pass on to :meth:`pandas.DataFrame.plot_bokeh`.
  
  Returns
  -------
  Bokeh.plotting.figure or Bokeh.layouts.row
  
  See Also
  --------
  bokeh.plotting.figure.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_bokeh.scatter(x='length',
      ...                         y='width')
  
  And now with the color and size determined by a column as well.
  
  .. plot::
      :context: close-figs
  
      >>> ax2 = df.plot_bokeh.scatter(x='length',
      ...                       y='width',
      ...                       category='species',
      ...                       size="species",
      ...                       colormap='viridis')
docstr_tok: ["Create","a","scatter","plot","with","varying","marker","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",".","category",":","str","or","object","A","column","name","whose","values","will","be","used","to","color","the","marker","points","according","to","a","colormap",".","*","*","kwds","Keyword","arguments","to","pass","on","to",":","meth",":","`","pandas.DataFrame.plot_bokeh","`",".","Returns","--","--","--","-","Bokeh.plotting.figure","or","Bokeh.layouts.row","See","Also","--","--","--","--","bokeh.plotting.figure.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_bokeh.scatter","(","x='length","'",",","...","y='width","'",")","And","now","with","the","color","and","size","determined","by","a","column","as","well",".","..","plot",":",":",":","context",":","close-figs",">",">",">","ax2","=","df.plot_bokeh.scatter","(","x='length","'",",","...","y='width","'",",","...","category='species","'",",","...","size=","''","species","''",",","...","colormap='viridis","'",")"]
code: def scatter(self, x, y, category=None, **kwds):
      """
      Create a scatter plot with varying marker 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.
  
      category : str or object
          A column name whose values will be used to color the
          marker points according to a colormap.
  
      **kwds
          Keyword arguments to pass on to :meth:`pandas.DataFrame.plot_bokeh`.
  
      Returns
      -------
      Bokeh.plotting.figure or Bokeh.layouts.row
  
      See Also
      --------
      bokeh.plotting.figure.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_bokeh.scatter(x='length',
          ...                         y='width')
  
      And now with the color and size determined by a column as well.
  
      .. plot::
          :context: close-figs
  
          >>> ax2 = df.plot_bokeh.scatter(x='length',
          ...                       y='width',
          ...                       category='species',
          ...                       size="species",
          ...                       colormap='viridis')
      """
      return self(kind="scatter", x=x, y=y, category=category, **kwds)
  
imports: import datetime
  import numbers
  import warnings
  from copy import deepcopy
  from typing import Iterable, List, Optional, Union
  import numpy
  import pandas
  from bokeh.layouts import column
  from bokeh.models import ColorBar, ColumnDataSource, DatetimeTickFormatter, FuncTickFormatter, HoverTool, LinearColorMapper, RangeTool
  from bokeh.models.ranges import Range1d
  from bokeh.palettes import Inferno256, all_palettes
  from bokeh.plotting import figure
  from bokeh.transform import cumsum, dodge
  from pandas.core.base import PandasObject
  from pandas.errors import ParserError
  from .base import embedded_html, set_fontsizes_of_figure, show
  from .geoplot import geoplot
  from .utils import _extract_additional_columns
label_desc: Use image node_id 12 for calling the FramePlotMethods obj's underlying member method code with example usage: obj.scatter(x, y, category) and returns: self