docstr: Construct a new Margin object
  
  Parameters
  ----------
  arg
      dict of properties compatible with this constructor or
      an instance of :class:`plotly.graph_objs.layout.Margin`
  autoexpand
      Turns on/off margin expansion computations. Legends,
      colorbars, updatemenus, sliders, axis rangeselector and
      rangeslider are allowed to push the margins by
      defaults.
  b
      Sets the bottom margin (in px).
  l
      Sets the left margin (in px).
  pad
      Sets the amount of padding (in px) between the plotting
      area and the axis lines
  r
      Sets the right margin (in px).
  t
      Sets the top margin (in px).
  
  Returns
  -------
  Margin
docstr_tok: ["Construct","a","new","Margin","object","Parameters","--","--","--","--","--","arg","dict","of","properties","compatible","with","this","constructor","or","an","instance","of",":","class",":","`","plotly.graph_objs.layout.Margin","`","autoexpand","Turns","on\/off","margin","expansion","computations",".","Legends",",","colorbars",",","updatemenus",",","sliders",",","axis","rangeselector","and","rangeslider","are","allowed","to","push","the","margins","by","defaults",".","b","Sets","the","bottom","margin","(","in","px",")",".","l","Sets","the","left","margin","(","in","px",")",".","pad","Sets","the","amount","of","padding","(","in","px",")","between","the","plotting","area","and","the","axis","lines","r","Sets","the","right","margin","(","in","px",")",".","t","Sets","the","top","margin","(","in","px",")",".","Returns","--","--","--","-","Margin"]
code: def __init__(
      self,
      arg=None,
      autoexpand=None,
      b=None,
      l=None,
      pad=None,
      r=None,
      t=None,
      **kwargs,
  ):
      """
      Construct a new Margin object
  
      Parameters
      ----------
      arg
          dict of properties compatible with this constructor or
          an instance of :class:`plotly.graph_objs.layout.Margin`
      autoexpand
          Turns on/off margin expansion computations. Legends,
          colorbars, updatemenus, sliders, axis rangeselector and
          rangeslider are allowed to push the margins by
          defaults.
      b
          Sets the bottom margin (in px).
      l
          Sets the left margin (in px).
      pad
          Sets the amount of padding (in px) between the plotting
          area and the axis lines
      r
          Sets the right margin (in px).
      t
          Sets the top margin (in px).
  
      Returns
      -------
      Margin
      """
      super(Margin, self).__init__("margin")
  
      if "_parent" in kwargs:
          self._parent = kwargs["_parent"]
          return
  
      # Validate arg
      # ------------
      if arg is None:
          arg = {}
      elif isinstance(arg, self.__class__):
          arg = arg.to_plotly_json()
      elif isinstance(arg, dict):
          arg = _copy.copy(arg)
      else:
          raise ValueError(
              """\
  The first argument to the plotly.graph_objs.layout.Margin 
  constructor must be a dict or 
  an instance of :class:`plotly.graph_objs.layout.Margin`"""
          )
  
      # Handle skip_invalid
      # -------------------
      self._skip_invalid = kwargs.pop("skip_invalid", False)
      self._validate = kwargs.pop("_validate", True)
  
      # Populate data dict with properties
      # ----------------------------------
      _v = arg.pop("autoexpand", None)
      _v = autoexpand if autoexpand is not None else _v
      if _v is not None:
          self["autoexpand"] = _v
      _v = arg.pop("b", None)
      _v = b if b is not None else _v
      if _v is not None:
          self["b"] = _v
      _v = arg.pop("l", None)
      _v = l if l is not None else _v
      if _v is not None:
          self["l"] = _v
      _v = arg.pop("pad", None)
      _v = pad if pad is not None else _v
      if _v is not None:
          self["pad"] = _v
      _v = arg.pop("r", None)
      _v = r if r is not None else _v
      if _v is not None:
          self["r"] = _v
      _v = arg.pop("t", None)
      _v = t if t is not None else _v
      if _v is not None:
          self["t"] = _v
  
      # Process unknown kwargs
      # ----------------------
      self._process_kwargs(**dict(arg, **kwargs))
  
      # Reset skip_invalid
      # ------------------
      self._skip_invalid = False
  
file_path: catboost/contrib/python/plotly/py2/plotly/graph_objs/layout/_margin.py
imports: from plotly.basedatatypes import BaseLayoutHierarchyType
  import copy
label_desc: Use image node_id 14 to create a new Margin object from inherited base classes: _BaseLayoutHierarchyType with example: obj = Margin(arg, autoexpand, b, l, pad, r, t)