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: Make a horizontal bar plot.
  
  A horizontal bar plot is a plot that presents quantitative 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, default DataFrame.index
      Column to be used for categories.
  y : label or position, default All numeric columns in dataframe
      Columns to be plotted from the DataFrame.
  **kwds
      Keyword arguments to pass on to :meth:`pandas.DataFrame.plot`.
  
  Returns
  -------
  Bokeh.plotting.figure
  
  See Also
  --------
  pandas.DataFrame.plot_bokeh.bar: Vertical bar plot.
  pandas.DataFrame.plot_bokeh : Make plots of DataFrame using matplotlib.
  matplotlib.axes.Axes.bar : Plot a vertical bar plot using matplotlib.
  
  Examples
  --------
  Basic example
  
  .. plot::
      :context: close-figs
  
      >>> df = pd.DataFrame({'lab':['A', 'B', 'C'], 'val':[10, 30, 20]})
      >>> ax = df.plot_bokeh.barh(x='lab', y='val')
  
  Plot a whole DataFrame to a horizontal bar plot
  
  .. 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_bokeh.barh()
  
  Plot a column of the DataFrame to a horizontal bar plot
  
  .. 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_bokeh.barh(y='speed')
  
  Plot DataFrame versus the desired column
  
  .. 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_bokeh.barh(x='lifespan')
docstr_tok: ["Make","a","horizontal","bar","plot",".","A","horizontal","bar","plot","is","a","plot","that","presents","quantitative","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",",","default","DataFrame.index","Column","to","be","used","for","categories",".","y",":","label","or","position",",","default","All","numeric","columns","in","dataframe","Columns","to","be","plotted","from","the","DataFrame",".","*","*","kwds","Keyword","arguments","to","pass","on","to",":","meth",":","`","pandas.DataFrame.plot","`",".","Returns","--","--","--","-","Bokeh.plotting.figure","See","Also","--","--","--","--","pandas.DataFrame.plot_bokeh.bar",":","Vertical","bar","plot",".","pandas.DataFrame.plot_bokeh",":","Make","plots","of","DataFrame","using","matplotlib",".","matplotlib.axes.Axes.bar",":","Plot","a","vertical","bar","plot","using","matplotlib",".","Examples","--","--","--","--","Basic","example","..","plot",":",":",":","context",":","close-figs",">",">",">","df","=","pd.DataFrame","(","{","'lab","'",":","[","'","A","'",",","'","B","'",",","'","C","'","]",",","'val","'",":","[","10",",","30",",","20","]","}",")",">",">",">","ax","=","df.plot_bokeh.barh","(","x='lab","'",",","y='val","'",")","Plot","a","whole","DataFrame","to","a","horizontal","bar","plot","..","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_bokeh.barh","(",")","Plot","a","column","of","the","DataFrame","to","a","horizontal","bar","plot","..","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_bokeh.barh","(","y='speed","'",")","Plot","DataFrame","versus","the","desired","column","..","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_bokeh.barh","(","x='lifespan","'",")"]
code: def barh(self, x=None, y=None, **kwds):
      """
      Make a horizontal bar plot.
  
      A horizontal bar plot is a plot that presents quantitative 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, default DataFrame.index
          Column to be used for categories.
      y : label or position, default All numeric columns in dataframe
          Columns to be plotted from the DataFrame.
      **kwds
          Keyword arguments to pass on to :meth:`pandas.DataFrame.plot`.
  
      Returns
      -------
      Bokeh.plotting.figure
  
      See Also
      --------
      pandas.DataFrame.plot_bokeh.bar: Vertical bar plot.
      pandas.DataFrame.plot_bokeh : Make plots of DataFrame using matplotlib.
      matplotlib.axes.Axes.bar : Plot a vertical bar plot using matplotlib.
  
      Examples
      --------
      Basic example
  
      .. plot::
          :context: close-figs
  
          >>> df = pd.DataFrame({'lab':['A', 'B', 'C'], 'val':[10, 30, 20]})
          >>> ax = df.plot_bokeh.barh(x='lab', y='val')
  
      Plot a whole DataFrame to a horizontal bar plot
  
      .. 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_bokeh.barh()
  
      Plot a column of the DataFrame to a horizontal bar plot
  
      .. 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_bokeh.barh(y='speed')
  
      Plot DataFrame versus the desired column
  
      .. 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_bokeh.barh(x='lifespan')
      """
      return self(kind="barh", 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 7 for calling the FramePlotMethods obj's underlying member method code with example usage: obj.barh(x, y) and returns: self