U
    Áòccf  ã                   @   s(   d dl mZ d dlZG dd„ deƒZdS )é    )ÚBaseTraceHierarchyTypeNc                       sŠ   e Zd ZdZdZdddhZedd„ ƒZejdd„ ƒZed	d
„ ƒZ	e	jdd
„ ƒZ	edd„ ƒZ
e
jdd„ ƒZ
edd„ ƒZd‡ fdd„	Z‡  ZS )Ú
ProjectionZ	scatter3dzscatter3d.projectionÚxÚyÚzc                 C   s   | d S )aÍ  
        The 'x' property is an instance of X
        that may be specified as:
          - An instance of :class:`plotly.graph_objs.scatter3d.projection.X`
          - A dict of string/value properties that will be passed
            to the X constructor

            Supported dict properties:

                opacity
                    Sets the projection color.
                scale
                    Sets the scale factor determining the size of
                    the projection marker points.
                show
                    Sets whether or not projections are shown along
                    the x axis.

        Returns
        -------
        plotly.graph_objs.scatter3d.projection.X
        r   © ©Úselfr   r   úa/var/www/html/project/venv/lib/python3.8/site-packages/plotly/graph_objs/scatter3d/_projection.pyr      s    zProjection.xc                 C   s   || d< d S )Nr   r   ©r	   Úvalr   r   r
   r   )   s    c                 C   s   | d S )aÍ  
        The 'y' property is an instance of Y
        that may be specified as:
          - An instance of :class:`plotly.graph_objs.scatter3d.projection.Y`
          - A dict of string/value properties that will be passed
            to the Y constructor

            Supported dict properties:

                opacity
                    Sets the projection color.
                scale
                    Sets the scale factor determining the size of
                    the projection marker points.
                show
                    Sets whether or not projections are shown along
                    the y axis.

        Returns
        -------
        plotly.graph_objs.scatter3d.projection.Y
        r   r   r   r   r   r
   r   /   s    zProjection.yc                 C   s   || d< d S )Nr   r   r   r   r   r
   r   I   s    c                 C   s   | d S )aÍ  
        The 'z' property is an instance of Z
        that may be specified as:
          - An instance of :class:`plotly.graph_objs.scatter3d.projection.Z`
          - A dict of string/value properties that will be passed
            to the Z constructor

            Supported dict properties:

                opacity
                    Sets the projection color.
                scale
                    Sets the scale factor determining the size of
                    the projection marker points.
                show
                    Sets whether or not projections are shown along
                    the z axis.

        Returns
        -------
        plotly.graph_objs.scatter3d.projection.Z
        r   r   r   r   r   r
   r   O   s    zProjection.zc                 C   s   || d< d S )Nr   r   r   r   r   r
   r   i   s    c                 C   s   dS )Na‘          x
            :class:`plotly.graph_objects.scatter3d.projection.X`
            instance or dict with compatible properties
        y
            :class:`plotly.graph_objects.scatter3d.projection.Y`
            instance or dict with compatible properties
        z
            :class:`plotly.graph_objects.scatter3d.projection.Z`
            instance or dict with compatible properties
        r   r   r   r   r
   Ú_prop_descriptionso   s    zProjection._prop_descriptionsNc                    s(  t t| ƒ d¡ d|kr&|d | _dS |dkr4i }n4t|| jƒrJ| ¡ }nt|tƒr`t 	|¡}nt
dƒ‚| dd¡| _| dd¡| _| d	d¡}|dk	rœ|n|}|dk	r°|| d	< | d
d¡}|dk	rÈ|n|}|dk	rÜ|| d
< | dd¡}|dk	rô|n|}|dk	r
|| d< | jf t|f|ŽŽ d| _dS )a½  
        Construct a new Projection object

        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of
            :class:`plotly.graph_objs.scatter3d.Projection`
        x
            :class:`plotly.graph_objects.scatter3d.projection.X`
            instance or dict with compatible properties
        y
            :class:`plotly.graph_objects.scatter3d.projection.Y`
            instance or dict with compatible properties
        z
            :class:`plotly.graph_objects.scatter3d.projection.Z`
            instance or dict with compatible properties

        Returns
        -------
        Projection
        Z
projectionÚ_parentNzThe first argument to the plotly.graph_objs.scatter3d.Projection
constructor must be a dict or
an instance of :class:`plotly.graph_objs.scatter3d.Projection`Zskip_invalidFÚ	_validateTr   r   r   )Úsuperr   Ú__init__r   Ú
isinstanceÚ	__class__Zto_plotly_jsonÚdictÚ_copyÚcopyÚ
ValueErrorÚpopZ_skip_invalidr   Z_process_kwargs)r	   Úargr   r   r   ÚkwargsÚ_v©r   r   r
   r   }   s:    


ÿ	
zProjection.__init__)NNNN)Ú__name__Ú
__module__Ú__qualname__Z_parent_path_strZ	_path_strZ_valid_propsÚpropertyr   Úsetterr   r   r   r   Ú__classcell__r   r   r   r
   r      s$   







r   )Zplotly.basedatatypesr   Z_BaseTraceHierarchyTyper   r   r   r   r   r   r
   Ú<module>   s   