class_docstr: Guides for each scale
  
  Used to assign a particular guide to an aesthetic(s).
  
  Parameters
  ----------
  kwargs : dict
      aesthetic - guide pairings. e.g
      ```python
      guides(color=guide_colorbar())
      ```
class_docstr_tok: ["Guides","for","each","scale","Used","to","assign","a","particular","guide","to","an","aesthetic","(","s",")",".","Parameters","--","--","--","--","--","kwargs",":","dict","aesthetic","-","guide","pairings",".","e.g","``","`","python","guides","(","color=guide_colorbar","(",")",")","``","`"]
docstr: Build the guides
  
  Parameters
  ----------
  plot : ggplot
      ggplot object being drawn
  
  Returns
  -------
  box : matplotlib.offsetbox.Offsetbox | None
      A box that contains all the guides for the plot.
      If there are no guides, **None** is returned.
docstr_tok: ["Build","the","guides","Parameters","--","--","--","--","--","plot",":","ggplot","ggplot","object","being","drawn","Returns","--","--","--","-","box",":","matplotlib.offsetbox.Offsetbox","|","None","A","box","that","contains","all","the","guides","for","the","plot",".","If","there","are","no","guides",",","*","*","None","*","*","is","returned","."]
code: def build(self, plot):
      """
      Build the guides
  
      Parameters
      ----------
      plot : ggplot
          ggplot object being drawn
  
      Returns
      -------
      box : matplotlib.offsetbox.Offsetbox | None
          A box that contains all the guides for the plot.
          If there are no guides, **None** is returned.
      """
      _property = plot.theme.themeables.property
      self.box_direction = _property("legend_box")
      self.position = _property("legend_position")
      self.box_align = _property("legend_box_just")
      self.box_margin = _property("legend_box_margin")
      self.spacing = _property("legend_spacing")
  
      if self.position == "none":
          return  # No Legend
  
      # Direction
      if self.box_direction == "auto":
          if self.position in ("right", "left"):
              self.box_direction = "vertical"
          else:
              self.box_direction = "horizontal"
  
      # Justification of legend boxes
      if self.box_align == "auto":
          if self.position in ("right", "left"):
              self.box_align = "left"
          else:
              self.box_align = "right"
  
      gdefs = self.train(plot)
      if not gdefs:
          return
  
      gdefs = self.merge(gdefs)
      gdefs = self.create_geoms(gdefs, plot)
  
      if not gdefs:
          return
  
      gboxes = self.draw(gdefs, plot.theme)
      bigbox = self.assemble(gboxes, gdefs, plot.theme)
      return bigbox
  
imports: from __future__ import annotations
  import typing
  from copy import deepcopy
  from warnings import warn
  import numpy
  import pandas
  from .._utils.registry import Registry
  from ..exceptions import PlotnineError, PlotnineWarning
  from .guide import guide
label_desc: Use image node_id 3 for calling the guides obj's underlying member method code with example usage: obj.build(plot) and returns: bigbox