U
    cc0                     @   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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d fdd	Z  ZS )TilingZtreemapztreemap.tilingflippackingpadsquarifyratioc                 C   s   | d S )aO  
        Determines if the positions obtained from solver are flipped on
        each axis.

        The 'flip' property is a flaglist and may be specified
        as a string containing:
          - Any combination of ['x', 'y'] joined with '+' characters
            (e.g. 'x+y')

        Returns
        -------
        Any
        r    selfr   r   [/var/www/html/project/venv/lib/python3.8/site-packages/plotly/graph_objs/treemap/_tiling.pyr      s    zTiling.flipc                 C   s   || d< d S )Nr   r   r
   valr   r   r   r       s    c                 C   s   | d S )a  
        Determines d3 treemap solver. For more info please refer to
        https://github.com/d3/d3-hierarchy#treemap-tiling

        The 'packing' property is an enumeration that may be specified as:
          - One of the following enumeration values:
                ['squarify', 'binary', 'dice', 'slice', 'slice-dice',
                'dice-slice']

        Returns
        -------
        Any
        r   r   r	   r   r   r   r   &   s    zTiling.packingc                 C   s   || d< d S )Nr   r   r   r   r   r   r   7   s    c                 C   s   | d S )z
        Sets the inner padding (in px).

        The 'pad' 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
Tiling.padc                 C   s   || d< d S )Nr   r   r   r   r   r   r   K   s    c                 C   s   | d S )a  
        When using "squarify" `packing` algorithm, according to https:/
        /github.com/d3/d3-hierarchy/blob/v3.1.1/README.md#squarify_rati
        o this option specifies the desired aspect ratio of the
        generated rectangles. The ratio must be specified as a number
        greater than or equal to one. Note that the orientation of the
        generated rectangles (tall or wide) is not implied by the
        ratio; for example, a ratio of two will attempt to produce a
        mixture of rectangles whose width:height ratio is either 2:1 or
        1:2. When using "squarify", unlike d3 which uses the Golden
        Ratio i.e. 1.618034, Plotly applies 1 to increase squares in
        treemap layouts.

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

        Returns
        -------
        int|float
        r   r   r	   r   r   r   r   Q   s    zTiling.squarifyratioc                 C   s   || d< d S )Nr   r   r   r   r   r   r   i   s    c                 C   s   dS )Nan          flip
            Determines if the positions obtained from solver are
            flipped on each axis.
        packing
            Determines d3 treemap solver. For more info please
            refer to https://github.com/d3/d3-hierarchy#treemap-
            tiling
        pad
            Sets the inner padding (in px).
        squarifyratio
            When using "squarify" `packing` algorithm, according to
            https://github.com/d3/d3-hierarchy/blob/v3.1.1/README.m
            d#squarify_ratio this option specifies the desired
            aspect ratio of the generated rectangles. The ratio
            must be specified as a number greater than or equal to
            one. Note that the orientation of the generated
            rectangles (tall or wide) is not implied by the ratio;
            for example, a ratio of two will attempt to produce a
            mixture of rectangles whose width:height ratio is
            either 2:1 or 1:2. When using "squarify", unlike d3
            which uses the Golden Ratio i.e. 1.618034, Plotly
            applies 1 to increase squares in treemap layouts.
        r   r	   r   r   r   _prop_descriptionso   s    zTiling._prop_descriptionsNc                    sX  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< | jf t|f| d| _dS )a  
        Construct a new Tiling object

        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of
            :class:`plotly.graph_objs.treemap.Tiling`
        flip
            Determines if the positions obtained from solver are
            flipped on each axis.
        packing
            Determines d3 treemap solver. For more info please
            refer to https://github.com/d3/d3-hierarchy#treemap-
            tiling
        pad
            Sets the inner padding (in px).
        squarifyratio
            When using "squarify" `packing` algorithm, according to
            https://github.com/d3/d3-hierarchy/blob/v3.1.1/README.m
            d#squarify_ratio this option specifies the desired
            aspect ratio of the generated rectangles. The ratio
            must be specified as a number greater than or equal to
            one. Note that the orientation of the generated
            rectangles (tall or wide) is not implied by the ratio;
            for example, a ratio of two will attempt to produce a
            mixture of rectangles whose width:height ratio is
            either 2:1 or 1:2. When using "squarify", unlike d3
            which uses the Golden Ratio i.e. 1.618034, Plotly
            applies 1 to increase squares in treemap layouts.

        Returns
        -------
        Tiling
        Ztiling_parentNzThe first argument to the plotly.graph_objs.treemap.Tiling
constructor must be a dict or
an instance of :class:`plotly.graph_objs.treemap.Tiling`Zskip_invalidF	_validateTr   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   kwargs_vr   r   r   r      sB    '


	

zTiling.__init__)NNNNN)__name__
__module____qualname__Z_parent_path_strZ	_path_strZ_valid_propspropertyr   setterr   r   r   r   r   __classcell__r   r   r   r   r      s6   








         r   )Zplotly.basedatatypesr   Z_BaseTraceHierarchyTyper   r   r   r   r   r   r   <module>   s   