docstr: Specifies the shape type to be drawn. If "line", a line is
  drawn from (`x0`,`y0`) to (`x1`,`y1`) with respect to the axes'
  sizing mode. If "circle", a circle is drawn from
  ((`x0`+`x1`)/2, (`y0`+`y1`)/2)) with radius (|(`x0`+`x1`)/2 -
  `x0`|, |(`y0`+`y1`)/2 -`y0`)|) with respect to the axes' sizing
  mode. If "rect", a rectangle is drawn linking (`x0`,`y0`),
  (`x1`,`y0`), (`x1`,`y1`), (`x0`,`y1`), (`x0`,`y0`) with respect
  to the axes' sizing mode. If "path", draw a custom SVG path
  using `path`. with respect to the axes' sizing mode.
  
  The 'type' property is an enumeration that may be specified as:
    - One of the following enumeration values:
          ['circle', 'rect', 'path', 'line']
  
  Returns
  -------
  Any
docstr_tok: ["Specifies","the","shape","type","to","be","drawn",".","If","``","line","''",",","a","line","is","drawn","from","(","`","x0","`",",","`","y0","`",")","to","(","`","x1","`",",","`","y1","`",")","with","respect","to","the","axes'","sizing","mode",".","If","``","circle","''",",","a","circle","is","drawn","from","(","(","`","x0","`","+","`","x1","`",")","\/2",",","(","`","y0","`","+","`","y1","`",")","\/2",")",")","with","radius","(","|","(","`","x0","`","+","`","x1","`",")","\/2","-","`","x0","`","|",",","|","(","`","y0","`","+","`","y1","`",")","\/2","-","`","y0","`",")","|",")","with","respect","to","the","axes","'","sizing","mode",".","If","``","rect","''",",","a","rectangle","is","drawn","linking","(","`","x0","`",",","`","y0","`",")",",","(","`","x1","`",",","`","y0","`",")",",","(","`","x1","`",",","`","y1","`",")",",","(","`","x0","`",",","`","y1","`",")",",","(","`","x0","`",",","`","y0","`",")","with","respect","to","the","axes","'","sizing","mode",".","If","``","path","''",",","draw","a","custom","SVG","path","using","`","path","`",".","with","respect","to","the","axes","'","sizing","mode",".","The","'type","'","property","is","an","enumeration","that","may","be","specified","as",":","-","One","of","the","following","enumeration","values",":","[","'circle","'",",","'rect","'",",","'path","'",",","'line","'","]","Returns","--","--","--","-","Any"]
code: def type(self):
      """
      Specifies the shape type to be drawn. If "line", a line is
      drawn from (`x0`,`y0`) to (`x1`,`y1`) with respect to the axes'
      sizing mode. If "circle", a circle is drawn from
      ((`x0`+`x1`)/2, (`y0`+`y1`)/2)) with radius (|(`x0`+`x1`)/2 -
      `x0`|, |(`y0`+`y1`)/2 -`y0`)|) with respect to the axes' sizing
      mode. If "rect", a rectangle is drawn linking (`x0`,`y0`),
      (`x1`,`y0`), (`x1`,`y1`), (`x0`,`y1`), (`x0`,`y0`) with respect
      to the axes' sizing mode. If "path", draw a custom SVG path
      using `path`. with respect to the axes' sizing mode.
  
      The 'type' property is an enumeration that may be specified as:
        - One of the following enumeration values:
              ['circle', 'rect', 'path', 'line']
  
      Returns
      -------
      Any
      """
      return self["type"]
  
imports: from plotly.basedatatypes import BaseLayoutHierarchyType
  import copy
label_desc: Use image node_id 19 for calling the Shape obj's underlying member method code with example usage: obj.type() and returns: self