docstr: Add a shape to the QuantFigure. 
  
  kwargs : 
          hline : int, list or dict
                  Draws a horizontal line at the
                  indicated y position(s)
                  Extra parameters can be passed in
                  the form of a dictionary (see shapes)
          vline : int, list or dict
                  Draws a vertical line at the
                  indicated x position(s)
                  Extra parameters can be passed in
                  the form of a dictionary (see shapes)
          hspan : (y0,y1)
                  Draws a horizontal rectangle at the
                  indicated (y0,y1) positions.
                  Extra parameters can be passed in
                  the form of a dictionary (see shapes)
          vspan : (x0,x1)
                  Draws a vertical rectangle at the
                  indicated (x0,x1) positions.
                  Extra parameters can be passed in
                  the form of a dictionary (see shapes)
          shapes : dict or list(dict)
                  List of dictionaries with the
                  specifications of a given shape.
                  See help(cufflinks.tools.get_shape)
                  for more information
          
docstr_tok: ["Add","a","shape","to","the","QuantFigure",".","kwargs",":","hline",":","int",",","list","or","dict","Draws","a","horizontal","line","at","the","indicated","y","position","(","s",")","Extra","parameters","can","be","passed","in","the","form","of","a","dictionary","(","see","shapes",")","vline",":","int",",","list","or","dict","Draws","a","vertical","line","at","the","indicated","x","position","(","s",")","Extra","parameters","can","be","passed","in","the","form","of","a","dictionary","(","see","shapes",")","hspan",":","(","y0",",","y1",")","Draws","a","horizontal","rectangle","at","the","indicated","(","y0",",","y1",")","positions",".","Extra","parameters","can","be","passed","in","the","form","of","a","dictionary","(","see","shapes",")","vspan",":","(","x0",",","x1",")","Draws","a","vertical","rectangle","at","the","indicated","(","x0",",","x1",")","positions",".","Extra","parameters","can","be","passed","in","the","form","of","a","dictionary","(","see","shapes",")","shapes",":","dict","or","list","(","dict",")","List","of","dictionaries","with","the","specifications","of","a","given","shape",".","See","help","(","cufflinks.tools.get_shape",")","for","more","information"]
code: def add_shapes(self, **kwargs):
      """
      Add a shape to the QuantFigure.
  
      kwargs :
              hline : int, list or dict
                      Draws a horizontal line at the
                      indicated y position(s)
                      Extra parameters can be passed in
                      the form of a dictionary (see shapes)
              vline : int, list or dict
                      Draws a vertical line at the
                      indicated x position(s)
                      Extra parameters can be passed in
                      the form of a dictionary (see shapes)
              hspan : (y0,y1)
                      Draws a horizontal rectangle at the
                      indicated (y0,y1) positions.
                      Extra parameters can be passed in
                      the form of a dictionary (see shapes)
              vspan : (x0,x1)
                      Draws a vertical rectangle at the
                      indicated (x0,x1) positions.
                      Extra parameters can be passed in
                      the form of a dictionary (see shapes)
              shapes : dict or list(dict)
                      List of dictionaries with the
                      specifications of a given shape.
                      See help(cufflinks.tools.get_shape)
                      for more information
  
      """
      kwargs = utils.check_kwargs(
          kwargs, get_shapes_kwargs(), {}, clean_origin=True
      )
      for k, v in list(kwargs.items()):
          if k in self.layout["shapes"]:
              if utils.is_list(v):
                  self.layout["shapes"][k].extend(v)
              else:
                  self.layout["shapes"][k].append(v)
          else:
              self.layout["shapes"][k] = utils.make_list(v)
  
imports: from __future__ import absolute_import
  import plotly.graph_objs
  import json
  import copy
  import pandas
  from .plotlytools import iplot
  from .None import tools
  from .None import ta
  from .None import utils
  from .None import colors
  from .None import auth
  from .None import date_tools
label_desc: Use image node_id 14 for calling the QuantFig obj's underlying member method code with example usage: obj.add_shapes() without return types