U
    TZßf°B  ã                   @   s(   d dl mZ d dlZG dd„ deƒZdS )é    )ÚBaseTraceHierarchyTypeNc                       sj  e Zd ZdZdZddddddd	d
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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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ejd+d*„ ƒZed,d-„ ƒZejd.d-„ ƒZed/d0„ ƒZd4‡ fd2d3„	Z‡  ZS )5ÚXzsurface.contourszsurface.contours.xÚcolorÚendÚ	highlightÚhighlightcolorÚhighlightwidthÚprojectÚshowÚsizeÚstartÚusecolormapÚwidthc                 C   s   | d S )a
  
        Sets the color of the contour lines.

        The 'color' property is a color and may be specified as:
          - A hex string (e.g. '#ff0000')
          - An rgb/rgba string (e.g. 'rgb(255,0,0)')
          - An hsl/hsla string (e.g. 'hsl(0,100%,50%)')
          - An hsv/hsva string (e.g. 'hsv(0,100%,100%)')
          - A named CSS color:
                aliceblue, antiquewhite, aqua, aquamarine, azure,
                beige, bisque, black, blanchedalmond, blue,
                blueviolet, brown, burlywood, cadetblue,
                chartreuse, chocolate, coral, cornflowerblue,
                cornsilk, crimson, cyan, darkblue, darkcyan,
                darkgoldenrod, darkgray, darkgrey, darkgreen,
                darkkhaki, darkmagenta, darkolivegreen, darkorange,
                darkorchid, darkred, darksalmon, darkseagreen,
                darkslateblue, darkslategray, darkslategrey,
                darkturquoise, darkviolet, deeppink, deepskyblue,
                dimgray, dimgrey, dodgerblue, firebrick,
                floralwhite, forestgreen, fuchsia, gainsboro,
                ghostwhite, gold, goldenrod, gray, grey, green,
                greenyellow, honeydew, hotpink, indianred, indigo,
                ivory, khaki, lavender, lavenderblush, lawngreen,
                lemonchiffon, lightblue, lightcoral, lightcyan,
                lightgoldenrodyellow, lightgray, lightgrey,
                lightgreen, lightpink, lightsalmon, lightseagreen,
                lightskyblue, lightslategray, lightslategrey,
                lightsteelblue, lightyellow, lime, limegreen,
                linen, magenta, maroon, mediumaquamarine,
                mediumblue, mediumorchid, mediumpurple,
                mediumseagreen, mediumslateblue, mediumspringgreen,
                mediumturquoise, mediumvioletred, midnightblue,
                mintcream, mistyrose, moccasin, navajowhite, navy,
                oldlace, olive, olivedrab, orange, orangered,
                orchid, palegoldenrod, palegreen, paleturquoise,
                palevioletred, papayawhip, peachpuff, peru, pink,
                plum, powderblue, purple, red, rosybrown,
                royalblue, rebeccapurple, saddlebrown, salmon,
                sandybrown, seagreen, seashell, sienna, silver,
                skyblue, slateblue, slategray, slategrey, snow,
                springgreen, steelblue, tan, teal, thistle, tomato,
                turquoise, violet, wheat, white, whitesmoke,
                yellow, yellowgreen

        Returns
        -------
        str
        r   © ©Úselfr   r   úI/tmp/pip-unpacked-wheel-5ksk5baj/plotly/graph_objs/surface/contours/_x.pyr      s    3zX.colorc                 C   s   || d< d S )Nr   r   ©r   Úvalr   r   r   r   P   s    c                 C   s   | d S )zî
        Sets the end contour level value. Must be more than
        `contours.start`

        The 'end' property is a number and may be specified as:
          - An int or float

        Returns
        -------
        int|float
        r   r   r   r   r   r   r   V   s    zX.endc                 C   s   || d< d S )Nr   r   r   r   r   r   r   e   s    c                 C   s   | d S )zý
        Determines whether or not contour lines about the x dimension
        are highlighted on hover.

        The 'highlight' property must be specified as a bool
        (either True, or False)

        Returns
        -------
        bool
        r   r   r   r   r   r   r   k   s    zX.highlightc                 C   s   || d< d S )Nr   r   r   r   r   r   r   z   s    c                 C   s   | d S )a*
  
        Sets the color of the highlighted contour lines.

        The 'highlightcolor' property is a color and may be specified as:
          - A hex string (e.g. '#ff0000')
          - An rgb/rgba string (e.g. 'rgb(255,0,0)')
          - An hsl/hsla string (e.g. 'hsl(0,100%,50%)')
          - An hsv/hsva string (e.g. 'hsv(0,100%,100%)')
          - A named CSS color:
                aliceblue, antiquewhite, aqua, aquamarine, azure,
                beige, bisque, black, blanchedalmond, blue,
                blueviolet, brown, burlywood, cadetblue,
                chartreuse, chocolate, coral, cornflowerblue,
                cornsilk, crimson, cyan, darkblue, darkcyan,
                darkgoldenrod, darkgray, darkgrey, darkgreen,
                darkkhaki, darkmagenta, darkolivegreen, darkorange,
                darkorchid, darkred, darksalmon, darkseagreen,
                darkslateblue, darkslategray, darkslategrey,
                darkturquoise, darkviolet, deeppink, deepskyblue,
                dimgray, dimgrey, dodgerblue, firebrick,
                floralwhite, forestgreen, fuchsia, gainsboro,
                ghostwhite, gold, goldenrod, gray, grey, green,
                greenyellow, honeydew, hotpink, indianred, indigo,
                ivory, khaki, lavender, lavenderblush, lawngreen,
                lemonchiffon, lightblue, lightcoral, lightcyan,
                lightgoldenrodyellow, lightgray, lightgrey,
                lightgreen, lightpink, lightsalmon, lightseagreen,
                lightskyblue, lightslategray, lightslategrey,
                lightsteelblue, lightyellow, lime, limegreen,
                linen, magenta, maroon, mediumaquamarine,
                mediumblue, mediumorchid, mediumpurple,
                mediumseagreen, mediumslateblue, mediumspringgreen,
                mediumturquoise, mediumvioletred, midnightblue,
                mintcream, mistyrose, moccasin, navajowhite, navy,
                oldlace, olive, olivedrab, orange, orangered,
                orchid, palegoldenrod, palegreen, paleturquoise,
                palevioletred, papayawhip, peachpuff, peru, pink,
                plum, powderblue, purple, red, rosybrown,
                royalblue, rebeccapurple, saddlebrown, salmon,
                sandybrown, seagreen, seashell, sienna, silver,
                skyblue, slateblue, slategray, slategrey, snow,
                springgreen, steelblue, tan, teal, thistle, tomato,
                turquoise, violet, wheat, white, whitesmoke,
                yellow, yellowgreen

        Returns
        -------
        str
        r   r   r   r   r   r   r   €   s    3zX.highlightcolorc                 C   s   || d< d S )Nr   r   r   r   r   r   r   µ   s    c                 C   s   | d S )zõ
        Sets the width of the highlighted contour lines.

        The 'highlightwidth' property is a number and may be specified as:
          - An int or float in the interval [1, 16]

        Returns
        -------
        int|float
        r   r   r   r   r   r   r   »   s    zX.highlightwidthc                 C   s   || d< d S )Nr   r   r   r   r   r   r   É   s    c                 C   s   | d S )a·  
        The 'project' property is an instance of Project
        that may be specified as:
          - An instance of :class:`plotly.graph_objs.surface.contours.x.Project`
          - A dict of string/value properties that will be passed
            to the Project constructor

            Supported dict properties:

                x
                    Determines whether or not these contour lines
                    are projected on the x plane. If `highlight` is
                    set to True (the default), the projected lines
                    are shown on hover. If `show` is set to True,
                    the projected lines are shown in permanence.
                y
                    Determines whether or not these contour lines
                    are projected on the y plane. If `highlight` is
                    set to True (the default), the projected lines
                    are shown on hover. If `show` is set to True,
                    the projected lines are shown in permanence.
                z
                    Determines whether or not these contour lines
                    are projected on the z plane. If `highlight` is
                    set to True (the default), the projected lines
                    are shown on hover. If `show` is set to True,
                    the projected lines are shown in permanence.

        Returns
        -------
        plotly.graph_objs.surface.contours.x.Project
        r	   r   r   r   r   r   r	   Ï   s    "z	X.projectc                 C   s   || d< d S )Nr	   r   r   r   r   r   r	   ó   s    c                 C   s   | d S )zé
        Determines whether or not contour lines about the x dimension
        are drawn.

        The 'show' property must be specified as a bool
        (either True, or False)

        Returns
        -------
        bool
        r
   r   r   r   r   r   r
   ù   s    zX.showc                 C   s   || d< d S )Nr
   r   r   r   r   r   r
     s    c                 C   s   | d S )z÷
        Sets the step between each contour level. Must be positive.

        The 'size' property is a number and may be specified as:
          - An int or float in the interval [0, inf]

        Returns
        -------
        int|float
        r   r   r   r   r   r   r     s    zX.sizec                 C   s   || d< d S )Nr   r   r   r   r   r   r     s    c                 C   s   | d S )zó
        Sets the starting contour level value. Must be less than
        `contours.end`

        The 'start' property is a number and may be specified as:
          - An int or float

        Returns
        -------
        int|float
        r   r   r   r   r   r   r   "  s    zX.startc                 C   s   || d< d S )Nr   r   r   r   r   r   r   1  s    c                 C   s   | d S )a  
        An alternate to "color". Determines whether or not the contour
        lines are colored using the trace "colorscale".

        The 'usecolormap' property must be specified as a bool
        (either True, or False)

        Returns
        -------
        bool
        r   r   r   r   r   r   r   7  s    zX.usecolormapc                 C   s   || d< d S )Nr   r   r   r   r   r   r   F  s    c                 C   s   | d S )zà
        Sets the width of the contour lines.

        The 'width' property is a number and may be specified as:
          - An int or float in the interval [1, 16]

        Returns
        -------
        int|float
        r   r   r   r   r   r   r   L  s    zX.widthc                 C   s   || d< d S )Nr   r   r   r   r   r   r   Z  s    c                 C   s   dS )Na          color
            Sets the color of the contour lines.
        end
            Sets the end contour level value. Must be more than
            `contours.start`
        highlight
            Determines whether or not contour lines about the x
            dimension are highlighted on hover.
        highlightcolor
            Sets the color of the highlighted contour lines.
        highlightwidth
            Sets the width of the highlighted contour lines.
        project
            :class:`plotly.graph_objects.surface.contours.x.Project
            ` instance or dict with compatible properties
        show
            Determines whether or not contour lines about the x
            dimension are drawn.
        size
            Sets the step between each contour level. Must be
            positive.
        start
            Sets the starting contour level value. Must be less
            than `contours.end`
        usecolormap
            An alternate to "color". Determines whether or not the
            contour lines are colored using the trace "colorscale".
        width
            Sets the width of the contour lines.
        r   r   r   r   r   Ú_prop_descriptions`  s    zX._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< | dd¡}|dk	r$|n|}|dk	r:|| d< | dd¡}|dk	rT|n|}|dk	rj|| 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< | dd¡}|
dk	r|
n|}|dk	r*|| d< | dd¡}|dk	rD|n|}|dk	rZ|| d< | dd¡}|dk	rt|n|}|dk	rŠ|| d< | jf t|f|ŽŽ d| _dS )a—  
        Construct a new X object

        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of
            :class:`plotly.graph_objs.surface.contours.X`
        color
            Sets the color of the contour lines.
        end
            Sets the end contour level value. Must be more than
            `contours.start`
        highlight
            Determines whether or not contour lines about the x
            dimension are highlighted on hover.
        highlightcolor
            Sets the color of the highlighted contour lines.
        highlightwidth
            Sets the width of the highlighted contour lines.
        project
            :class:`plotly.graph_objects.surface.contours.x.Project
            ` instance or dict with compatible properties
        show
            Determines whether or not contour lines about the x
            dimension are drawn.
        size
            Sets the step between each contour level. Must be
            positive.
        start
            Sets the starting contour level value. Must be less
            than `contours.end`
        usecolormap
            An alternate to "color". Determines whether or not the
            contour lines are colored using the trace "colorscale".
        width
            Sets the width of the contour lines.

        Returns
        -------
        X
        ÚxÚ_parentNz™The first argument to the plotly.graph_objs.surface.contours.X
constructor must be a dict or
an instance of :class:`plotly.graph_objs.surface.contours.X`Zskip_invalidFÚ	_validateTr   r   r   r   r   r	   r
   r   r   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   r   r   r	   r
   r   r   r   r   ÚkwargsZ_v©r   r   r   r   ‚  sz    ;


ÿ	








z
X.__init__)NNNNNNNNNNNN)Ú__name__Ú
__module__Ú__qualname__Z_parent_path_strZ	_path_strZ_valid_propsÚpropertyr   Úsetterr   r   r   r   r	   r
   r   r   r   r   r   r   Ú__classcell__r   r   r$   r   r      s’   õ
4





4



#











#            ór   )Zplotly.basedatatypesr   Z_BaseTraceHierarchyTyper   r   r   r   r   r   r   Ú<module>   s   