docstr: Construct a new Projection object
  
  Parameters
  ----------
  arg
      dict of properties compatible with this constructor or
      an instance of
      :class:`plotly.graph_objs.layout.geo.Projection`
  distance
      For satellite projection type only. Sets the distance
      from the center of the sphere to the point of view as a
      proportion of the sphere’s radius.
  parallels
      For conic projection types only. Sets the parallels
      (tangent, secant) where the cone intersects the sphere.
  rotation
      :class:`plotly.graph_objects.layout.geo.projection.Rota
      tion` instance or dict with compatible properties
  scale
      Zooms in or out on the map view. A scale of 1
      corresponds to the largest zoom level that fits the
      map's lon and lat ranges.
  tilt
      For satellite projection type only. Sets the tilt angle
      of perspective projection.
  type
      Sets the projection type.
  
  Returns
  -------
  Projection
docstr_tok: ["Construct","a","new","Projection","object","Parameters","--","--","--","--","--","arg","dict","of","properties","compatible","with","this","constructor","or","an","instance","of",":","class",":","`","plotly.graph_objs.layout.geo.Projection","`","distance","For","satellite","projection","type","only",".","Sets","the","distance","from","the","center","of","the","sphere","to","the","point","of","view","as","a","proportion","of","the","sphere","\u2019","s","radius",".","parallels","For","conic","projection","types","only",".","Sets","the","parallels","(","tangent",",","secant",")","where","the","cone","intersects","the","sphere",".","rotation",":","class",":","`","plotly.graph_objects.layout.geo.projection.Rota","tion","`","instance","or","dict","with","compatible","properties","scale","Zooms","in","or","out","on","the","map","view",".","A","scale","of","1","corresponds","to","the","largest","zoom","level","that","fits","the","map","'s","lon","and","lat","ranges",".","tilt","For","satellite","projection","type","only",".","Sets","the","tilt","angle","of","perspective","projection",".","type","Sets","the","projection","type",".","Returns","--","--","--","-","Projection"]
code: def __init__(
      self,
      arg=None,
      distance=None,
      parallels=None,
      rotation=None,
      scale=None,
      tilt=None,
      type=None,
      **kwargs,
  ):
      """
      Construct a new Projection object
  
      Parameters
      ----------
      arg
          dict of properties compatible with this constructor or
          an instance of
          :class:`plotly.graph_objs.layout.geo.Projection`
      distance
          For satellite projection type only. Sets the distance
          from the center of the sphere to the point of view as a
          proportion of the sphere’s radius.
      parallels
          For conic projection types only. Sets the parallels
          (tangent, secant) where the cone intersects the sphere.
      rotation
          :class:`plotly.graph_objects.layout.geo.projection.Rota
          tion` instance or dict with compatible properties
      scale
          Zooms in or out on the map view. A scale of 1
          corresponds to the largest zoom level that fits the
          map's lon and lat ranges.
      tilt
          For satellite projection type only. Sets the tilt angle
          of perspective projection.
      type
          Sets the projection type.
  
      Returns
      -------
      Projection
      """
      super(Projection, self).__init__("projection")
  
      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.geo.Projection
  constructor must be a dict or
  an instance of :class:`plotly.graph_objs.layout.geo.Projection`"""
          )
  
      # 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("distance", None)
      _v = distance if distance is not None else _v
      if _v is not None:
          self["distance"] = _v
      _v = arg.pop("parallels", None)
      _v = parallels if parallels is not None else _v
      if _v is not None:
          self["parallels"] = _v
      _v = arg.pop("rotation", None)
      _v = rotation if rotation is not None else _v
      if _v is not None:
          self["rotation"] = _v
      _v = arg.pop("scale", None)
      _v = scale if scale is not None else _v
      if _v is not None:
          self["scale"] = _v
      _v = arg.pop("tilt", None)
      _v = tilt if tilt is not None else _v
      if _v is not None:
          self["tilt"] = _v
      _v = arg.pop("type", None)
      _v = type if type is not None else _v
      if _v is not None:
          self["type"] = _v
  
      # Process unknown kwargs
      # ----------------------
      self._process_kwargs(**dict(arg, **kwargs))
  
      # Reset skip_invalid
      # ------------------
      self._skip_invalid = False
  
file_path: plotly.py/packages/python/plotly/plotly/graph_objs/layout/geo/_projection.py
imports: from plotly.basedatatypes import BaseLayoutHierarchyType
  import copy
label_desc: Use image node_id 14 to create a new Projection object from inherited base classes: _BaseLayoutHierarchyType with example: obj = Projection(arg, distance, parallels, rotation, scale, tilt, type)