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: Vertical bar plot.
  
  A bar plot is a plot that presents categorical data with
  rectangular bars with lengths proportional to the values that they
  represent. A bar plot shows comparisons among discrete categories. One
  axis of the plot shows the specific categories being compared, and the
  other axis represents a measured value.
  
  Parameters
  ----------
  x : label or position, optional
      Allows plotting of one column versus another. If not specified,
      the index of the DataFrame is used.
  y : label or position, optional
      Allows plotting of one column versus another. If not specified,
      all numerical columns are used.
  **kwds
      Additional keyword arguments are documented in
      :meth:`pandas.DataFrame.plot_bokeh`.
  
  Returns
  -------
  Bokeh.plotting.figure
  
  See Also
  --------
  pandas.DataFrame.plot_bokeh.barh : Horizontal bar plot.
  pandas.DataFrame.plot_bokeh : Make interactive plots of a DataFrame.
  
  Examples
  --------
  Basic plot.
  
  .. plot::
      :context: close-figs
  
      >>> df = pd.DataFrame({'lab':['A', 'B', 'C'], 'val':[10, 30, 20]})
      >>> ax = df.plot.bar(x='lab', y='val', rot=0)
  
  Plot a whole dataframe to a bar plot. Each column is assigned a
  distinct color, and each row is nested in a group along the
  horizontal axis.
  
  .. plot::
      :context: close-figs
  
      >>> speed = [0.1, 17.5, 40, 48, 52, 69, 88]
      >>> lifespan = [2, 8, 70, 1.5, 25, 12, 28]
      >>> index = ['snail', 'pig', 'elephant',
      ...          'rabbit', 'giraffe', 'coyote', 'horse']
      >>> df = pd.DataFrame({'speed': speed,
      ...                    'lifespan': lifespan}, index=index)
      >>> ax = df.plot.bar(rot=0)
  
  Instead of nesting, the figure can be split by column with
  ``subplots=True``. In this case, a :class:`numpy.ndarray` of
  :class:`matplotlib.axes.Axes` are returned.
  
  .. plot::
      :context: close-figs
  
      >>> axes = df.plot.bar(rot=0, subplots=True)
      >>> axes[1].legend(loc=2)  # doctest: +SKIP
  
  Plot a single column.
  
  .. plot::
      :context: close-figs
  
      >>> ax = df.plot.bar(y='speed', rot=0)
  
  Plot only selected categories for the DataFrame.
  
  .. plot::
      :context: close-figs
  
      >>> ax = df.plot.bar(x='lifespan', rot=0)
docstr_tok: ["Vertical","bar","plot",".","A","bar","plot","is","a","plot","that","presents","categorical","data","with","rectangular","bars","with","lengths","proportional","to","the","values","that","they","represent",".","A","bar","plot","shows","comparisons","among","discrete","categories",".","One","axis","of","the","plot","shows","the","specific","categories","being","compared",",","and","the","other","axis","represents","a","measured","value",".","Parameters","--","--","--","--","--","x",":","label","or","position",",","optional","Allows","plotting","of","one","column","versus","another",".","If","not","specified",",","the","index","of","the","DataFrame","is","used",".","y",":","label","or","position",",","optional","Allows","plotting","of","one","column","versus","another",".","If","not","specified",",","all","numerical","columns","are","used",".","*","*","kwds","Additional","keyword","arguments","are","documented","in",":","meth",":","`","pandas.DataFrame.plot_bokeh","`",".","Returns","--","--","--","-","Bokeh.plotting.figure","See","Also","--","--","--","--","pandas.DataFrame.plot_bokeh.barh",":","Horizontal","bar","plot",".","pandas.DataFrame.plot_bokeh",":","Make","interactive","plots","of","a","DataFrame",".","Examples","--","--","--","--","Basic","plot",".","..","plot",":",":",":","context",":","close-figs",">",">",">","df","=","pd.DataFrame","(","{","'lab","'",":","[","'","A","'",",","'","B","'",",","'","C","'","]",",","'val","'",":","[","10",",","30",",","20","]","}",")",">",">",">","ax","=","df.plot.bar","(","x='lab","'",",","y='val","'",",","rot=0",")","Plot","a","whole","dataframe","to","a","bar","plot",".","Each","column","is","assigned","a","distinct","color",",","and","each","row","is","nested","in","a","group","along","the","horizontal","axis",".","..","plot",":",":",":","context",":","close-figs",">",">",">","speed","=","[","0.1",",","17.5",",","40",",","48",",","52",",","69",",","88","]",">",">",">","lifespan","=","[","2",",","8",",","70",",","1.5",",","25",",","12",",","28","]",">",">",">","index","=","[","'snail","'",",","'pig","'",",","'elephant","'",",","...","'rabbit","'",",","'giraffe","'",",","'coyote","'",",","'horse","'","]",">",">",">","df","=","pd.DataFrame","(","{","'speed","'",":","speed",",","...","'lifespan","'",":","lifespan","}",",","index=index",")",">",">",">","ax","=","df.plot.bar","(","rot=0",")","Instead","of","nesting",",","the","figure","can","be","split","by","column","with","``","subplots=True","``",".","In","this","case",",","a",":","class",":","`","numpy.ndarray","`","of",":","class",":","`","matplotlib.axes.Axes","`","are","returned",".","..","plot",":",":",":","context",":","close-figs",">",">",">","axes","=","df.plot.bar","(","rot=0",",","subplots=True",")",">",">",">","axes","[","1","]",".legend","(","loc=2",")","#","doctest",":","+SKIP","Plot","a","single","column",".","..","plot",":",":",":","context",":","close-figs",">",">",">","ax","=","df.plot.bar","(","y='speed","'",",","rot=0",")","Plot","only","selected","categories","for","the","DataFrame",".","..","plot",":",":",":","context",":","close-figs",">",">",">","ax","=","df.plot.bar","(","x='lifespan","'",",","rot=0",")"]
code: def bar(self, x=None, y=None, **kwds):
      """
      Vertical bar plot.
  
      A bar plot is a plot that presents categorical data with
      rectangular bars with lengths proportional to the values that they
      represent. A bar plot shows comparisons among discrete categories. One
      axis of the plot shows the specific categories being compared, and the
      other axis represents a measured value.
  
      Parameters
      ----------
      x : label or position, optional
          Allows plotting of one column versus another. If not specified,
          the index of the DataFrame is used.
      y : label or position, optional
          Allows plotting of one column versus another. If not specified,
          all numerical columns are used.
      **kwds
          Additional keyword arguments are documented in
          :meth:`pandas.DataFrame.plot_bokeh`.
  
      Returns
      -------
      Bokeh.plotting.figure
  
      See Also
      --------
      pandas.DataFrame.plot_bokeh.barh : Horizontal bar plot.
      pandas.DataFrame.plot_bokeh : Make interactive plots of a DataFrame.
  
      Examples
      --------
      Basic plot.
  
      .. plot::
          :context: close-figs
  
          >>> df = pd.DataFrame({'lab':['A', 'B', 'C'], 'val':[10, 30, 20]})
          >>> ax = df.plot.bar(x='lab', y='val', rot=0)
  
      Plot a whole dataframe to a bar plot. Each column is assigned a
      distinct color, and each row is nested in a group along the
      horizontal axis.
  
      .. plot::
          :context: close-figs
  
          >>> speed = [0.1, 17.5, 40, 48, 52, 69, 88]
          >>> lifespan = [2, 8, 70, 1.5, 25, 12, 28]
          >>> index = ['snail', 'pig', 'elephant',
          ...          'rabbit', 'giraffe', 'coyote', 'horse']
          >>> df = pd.DataFrame({'speed': speed,
          ...                    'lifespan': lifespan}, index=index)
          >>> ax = df.plot.bar(rot=0)
  
      Instead of nesting, the figure can be split by column with
      ``subplots=True``. In this case, a :class:`numpy.ndarray` of
      :class:`matplotlib.axes.Axes` are returned.
  
      .. plot::
          :context: close-figs
  
          >>> axes = df.plot.bar(rot=0, subplots=True)
          >>> axes[1].legend(loc=2)  # doctest: +SKIP
  
      Plot a single column.
  
      .. plot::
          :context: close-figs
  
          >>> ax = df.plot.bar(y='speed', rot=0)
  
      Plot only selected categories for the DataFrame.
  
      .. plot::
          :context: close-figs
  
          >>> ax = df.plot.bar(x='lifespan', rot=0)
      """
      return self(kind="bar", x=x, y=y, **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 6 for calling the FramePlotMethods obj's underlying member method code with example usage: obj.bar(x, y) and returns: self