B
    &[_T                 @   s(   d dl mZ d dlZG dd deZdS )    )BaseTraceTypeNc            "       s  e Zd ZdZdZddddddd	d
ddddddddddddddd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d0d/ Zed1d2 Zejd3d2 Zed4d5 Zejd6d5 Zed7d8 Zejd9d8 Zed:d; Zejd<d; Zed=d> Zejd?d> Zed@dA ZejdBdA ZedCdD ZejdEdD ZedFdG ZejdHdG ZedIdJ ZejdKdJ ZedLdM ZejdNdM ZedOdP ZejdQdP ZedRdS ZejdTdS ZedUdV ZejdWdV ZedXdY ZejdZdY Zed[d\ Zejd]d\ Zed^d_ Zejd`d_ Zedadb Zejdcdb Zeddde Zejdfde Zedgdh Zejdidh Zedjdk Zejdldk Zedmdn Z e jdodn Z edpdq Z!e!jdrdq Z!edsdt Z"e"jdudt Z"edvdw Z#e#jdxdw Z#edydz Z$e$jd{dz Z$ed|d} Z%e%jd~d} Z%edd Z&e&jdd Z&edd Z'e'jdd Z'edd Z(e(jdd Z(edd Z)edd Z*d fdd	Z+  Z,S )Image image
colormodel
customdatacustomdatasrcdxdy	hoverinfohoverinfosrc
hoverlabelhovertemplatehovertemplatesrc	hovertexthovertextsrcidsidssrcmetametasrcnameopacitysourcestreamtexttextsrctypeuid
uirevisionvisiblex0xaxisy0yaxiszzmaxzminzsrcc             C   s   | d S )a  
        Color model used to map the numerical color components
        described in `z` into colors. If `source` is specified, this
        attribute will be set to `rgba256` otherwise it defaults to
        `rgb`.
    
        The 'colormodel' property is an enumeration that may be specified as:
          - One of the following enumeration values:
                ['rgb', 'rgba', 'rgba256', 'hsl', 'hsla']

        Returns
        -------
        Any
        r    )selfr(   r(   </tmp/pip-install-l29rncou/plotly/plotly/graph_objs/_image.pyr   2   s    zImage.colormodelc             C   s   || d< d S )Nr   r(   )r)   valr(   r(   r*   r   D   s    c             C   s   | d S )a  
        Assigns extra data each datum. This may be useful when
        listening to hover, click and selection events. Note that,
        "scatter" traces also appends customdata items in the markers
        DOM elements
    
        The 'customdata' property is an array that may be specified as a tuple,
        list, numpy array, or pandas Series

        Returns
        -------
        numpy.ndarray
        r   r(   )r)   r(   r(   r*   r   J   s    zImage.customdatac             C   s   || d< d S )Nr   r(   )r)   r+   r(   r(   r*   r   [   s    c             C   s   | d S )z
        Sets the source reference on Chart Studio Cloud for  customdata
        .
    
        The 'customdatasrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r   r(   )r)   r(   r(   r*   r   a   s    zImage.customdatasrcc             C   s   || d< d S )Nr   r(   )r)   r+   r(   r(   r*   r   p   s    c             C   s   | d S )z
        Set the pixel's horizontal size.
    
        The 'dx' 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Image.dxc             C   s   || d< d S )Nr	   r(   )r)   r+   r(   r(   r*   r	      s    c             C   s   | d S )z
        Set the pixel's vertical size
    
        The 'dy' 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Image.dyc             C   s   || d< d S )Nr
   r(   )r)   r+   r(   r(   r*   r
      s    c             C   s   | d S )ai  
        Determines which trace information appear on hover. If `none`
        or `skip` are set, no information is displayed upon hovering.
        But, if `none` is set, click and hover events are still fired.
    
        The 'hoverinfo' property is a flaglist and may be specified
        as a string containing:
          - Any combination of ['x', 'y', 'z', 'color', 'name', 'text'] joined with '+' characters
            (e.g. 'x+y')
            OR exactly one of ['all', 'none', 'skip'] (e.g. 'skip')
          - A list or array of the above

        Returns
        -------
        Any|numpy.ndarray
        r   r(   )r)   r(   r(   r*   r      s    zImage.hoverinfoc             C   s   || d< d S )Nr   r(   )r)   r+   r(   r(   r*   r      s    c             C   s   | d S )z
        Sets the source reference on Chart Studio Cloud for  hoverinfo
        .
    
        The 'hoverinfosrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r   r(   )r)   r(   r(   r*   r      s    zImage.hoverinfosrcc             C   s   || d< d S )Nr   r(   )r)   r+   r(   r(   r*   r      s    c             C   s   | d S )a,  
        The 'hoverlabel' property is an instance of Hoverlabel
        that may be specified as:
          - An instance of :class:`plotly.graph_objs.image.Hoverlabel`
          - A dict of string/value properties that will be passed
            to the Hoverlabel constructor
    
            Supported dict properties:
                
                align
                    Sets the horizontal alignment of the text
                    content within hover label box. Has an effect
                    only if the hover label text spans more two or
                    more lines
                alignsrc
                    Sets the source reference on Chart Studio Cloud
                    for  align .
                bgcolor
                    Sets the background color of the hover labels
                    for this trace
                bgcolorsrc
                    Sets the source reference on Chart Studio Cloud
                    for  bgcolor .
                bordercolor
                    Sets the border color of the hover labels for
                    this trace.
                bordercolorsrc
                    Sets the source reference on Chart Studio Cloud
                    for  bordercolor .
                font
                    Sets the font used in hover labels.
                namelength
                    Sets the default length (in number of
                    characters) of the trace name in the hover
                    labels for all traces. -1 shows the whole name
                    regardless of length. 0-3 shows the first 0-3
                    characters, and an integer >3 will show the
                    whole name if it is less than that many
                    characters, but if it is longer, will truncate
                    to `namelength - 3` characters and add an
                    ellipsis.
                namelengthsrc
                    Sets the source reference on Chart Studio Cloud
                    for  namelength .

        Returns
        -------
        plotly.graph_objs.image.Hoverlabel
        r   r(   )r)   r(   r(   r*   r      s    3zImage.hoverlabelc             C   s   || d< d S )Nr   r(   )r)   r+   r(   r(   r*   r     s    c             C   s   | d S )a)  
        Template string used for rendering the information that appear
        on hover box. Note that this will override `hoverinfo`.
        Variables are inserted using %{variable}, for example "y:
        %{y}". Numbers are formatted using d3-format's syntax
        %{variable:d3-format}, for example "Price: %{y:$.2f}".
        https://github.com/d3/d3-3.x-api-
        reference/blob/master/Formatting.md#d3_format for details on
        the formatting syntax. Dates are formatted using d3-time-
        format's syntax %{variable|d3-time-format}, for example "Day:
        %{2019-01-01|%A}". https://github.com/d3/d3-time-
        format#locale_format for details on the date formatting syntax.
        The variables available in `hovertemplate` are the ones emitted
        as event data described at this link
        https://plotly.com/javascript/plotlyjs-events/#event-data.
        Additionally, every attributes that can be specified per-point
        (the ones that are `arrayOk: true`) are available. variables
        `z`, `color` and `colormodel`. Anything contained in tag
        `<extra>` is displayed in the secondary box, for example
        "<extra>{fullData.name}</extra>". To hide the secondary box
        completely, use an empty tag `<extra></extra>`.
    
        The 'hovertemplate' property is a string and must be specified as:
          - A string
          - A number that will be converted to a string
          - A tuple, list, or one-dimensional numpy array of the above

        Returns
        -------
        str|numpy.ndarray
        r   r(   )r)   r(   r(   r*   r     s    !zImage.hovertemplatec             C   s   || d< d S )Nr   r(   )r)   r+   r(   r(   r*   r   +  s    c             C   s   | d S )a  
        Sets the source reference on Chart Studio Cloud for
        hovertemplate .
    
        The 'hovertemplatesrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r   r(   )r)   r(   r(   r*   r   1  s    zImage.hovertemplatesrcc             C   s   || d< d S )Nr   r(   )r)   r+   r(   r(   r*   r   @  s    c             C   s   | d S )z
        Same as `text`.
    
        The 'hovertext' property is an array that may be specified as a tuple,
        list, numpy array, or pandas Series

        Returns
        -------
        numpy.ndarray
        r   r(   )r)   r(   r(   r*   r   F  s    zImage.hovertextc             C   s   || d< d S )Nr   r(   )r)   r+   r(   r(   r*   r   T  s    c             C   s   | d S )z
        Sets the source reference on Chart Studio Cloud for  hovertext
        .
    
        The 'hovertextsrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r   r(   )r)   r(   r(   r*   r   Z  s    zImage.hovertextsrcc             C   s   || d< d S )Nr   r(   )r)   r+   r(   r(   r*   r   i  s    c             C   s   | d S )aq  
        Assigns id labels to each datum. These ids for object constancy
        of data points during animation. Should be an array of strings,
        not numbers or any other type.
    
        The 'ids' property is an array that may be specified as a tuple,
        list, numpy array, or pandas Series

        Returns
        -------
        numpy.ndarray
        r   r(   )r)   r(   r(   r*   r   o  s    z	Image.idsc             C   s   || d< d S )Nr   r(   )r)   r+   r(   r(   r*   r     s    c             C   s   | d S )z
        Sets the source reference on Chart Studio Cloud for  ids .
    
        The 'idssrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r   r(   )r)   r(   r(   r*   r     s    zImage.idssrcc             C   s   || d< d S )Nr   r(   )r)   r+   r(   r(   r*   r     s    c             C   s   | d S )a	  
        Assigns extra meta information associated with this trace that
        can be used in various text attributes. Attributes such as
        trace `name`, graph, axis and colorbar `title.text`, annotation
        `text` `rangeselector`, `updatemenues` and `sliders` `label`
        text all support `meta`. To access the trace `meta` values in
        an attribute in the same trace, simply use `%{meta[i]}` where
        `i` is the index or key of the `meta` item in question. To
        access trace `meta` in layout attributes, use
        `%{data[n[.meta[i]}` where `i` is the index or key of the
        `meta` and `n` is the trace index.
    
        The 'meta' property accepts values of any type

        Returns
        -------
        Any|numpy.ndarray
        r   r(   )r)   r(   r(   r*   r     s    z
Image.metac             C   s   || d< d S )Nr   r(   )r)   r+   r(   r(   r*   r     s    c             C   s   | d S )z
        Sets the source reference on Chart Studio Cloud for  meta .
    
        The 'metasrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r   r(   )r)   r(   r(   r*   r     s    zImage.metasrcc             C   s   || d< d S )Nr   r(   )r)   r+   r(   r(   r*   r     s    c             C   s   | d S )a&  
        Sets the trace name. The trace name appear as the legend item
        and on hover.
    
        The 'name' property is a string and must be specified as:
          - A string
          - A number that will be converted to a string

        Returns
        -------
        str
        r   r(   )r)   r(   r(   r*   r     s    z
Image.namec             C   s   || d< d S )Nr   r(   )r)   r+   r(   r(   r*   r     s    c             C   s   | d S )z
        Sets the opacity of the trace.
    
        The 'opacity' property is a number and may be specified as:
          - An int or float in the interval [0, 1]

        Returns
        -------
        int|float
        r   r(   )r)   r(   r(   r*   r     s    zImage.opacityc             C   s   || d< d S )Nr   r(   )r)   r+   r(   r(   r*   r     s    c             C   s   | d S )aU  
        Specifies the data URI of the image to be visualized. The URI
        consists of "data:image/[<media subtype>][;base64],<data>"
    
        The 'source' property is a string and must be specified as:
          - A string
          - A number that will be converted to a string

        Returns
        -------
        str
        r   r(   )r)   r(   r(   r*   r     s    zImage.sourcec             C   s   || d< d S )Nr   r(   )r)   r+   r(   r(   r*   r     s    c             C   s   | d S )au  
        The 'stream' property is an instance of Stream
        that may be specified as:
          - An instance of :class:`plotly.graph_objs.image.Stream`
          - A dict of string/value properties that will be passed
            to the Stream constructor
    
            Supported dict properties:
                
                maxpoints
                    Sets the maximum number of points to keep on
                    the plots from an incoming stream. If
                    `maxpoints` is set to 50, only the newest 50
                    points will be displayed on the plot.
                token
                    The stream id number links a data trace on a
                    plot with a stream. See https://chart-
                    studio.plotly.com/settings for more details.

        Returns
        -------
        plotly.graph_objs.image.Stream
        r   r(   )r)   r(   r(   r*   r   	  s    zImage.streamc             C   s   || d< d S )Nr   r(   )r)   r+   r(   r(   r*   r   $  s    c             C   s   | d S )z
        Sets the text elements associated with each z value.
    
        The 'text' property is an array that may be specified as a tuple,
        list, numpy array, or pandas Series

        Returns
        -------
        numpy.ndarray
        r   r(   )r)   r(   r(   r*   r   *  s    z
Image.textc             C   s   || d< d S )Nr   r(   )r)   r+   r(   r(   r*   r   8  s    c             C   s   | d S )z
        Sets the source reference on Chart Studio Cloud for  text .
    
        The 'textsrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r   r(   )r)   r(   r(   r*   r   >  s    zImage.textsrcc             C   s   || d< d S )Nr   r(   )r)   r+   r(   r(   r*   r   L  s    c             C   s   | d S )aL  
        Assign an id to this trace, Use this to provide object
        constancy between traces during animations and transitions.
    
        The 'uid' property is a string and must be specified as:
          - A string
          - A number that will be converted to a string

        Returns
        -------
        str
        r   r(   )r)   r(   r(   r*   r   R  s    z	Image.uidc             C   s   || d< d S )Nr   r(   )r)   r+   r(   r(   r*   r   b  s    c             C   s   | d S )aR  
        Controls persistence of some user-driven changes to the trace:
        `constraintrange` in `parcoords` traces, as well as some
        `editable: true` modifications such as `name` and
        `colorbar.title`. Defaults to `layout.uirevision`. Note that
        other user-driven trace attribute changes are controlled by
        `layout` attributes: `trace.visible` is controlled by
        `layout.legend.uirevision`, `selectedpoints` is controlled by
        `layout.selectionrevision`, and `colorbar.(x|y)` (accessible
        with `config: {editable: true}`) is controlled by
        `layout.editrevision`. Trace changes are tracked by `uid`,
        which only falls back on trace index if no `uid` is provided.
        So if your app can add/remove traces before the end of the
        `data` array, such that the same trace has a different index,
        you can still preserve user-driven changes if you give each
        trace a `uid` that stays with it as it moves.
    
        The 'uirevision' property accepts values of any type

        Returns
        -------
        Any
        r   r(   )r)   r(   r(   r*   r   h  s    zImage.uirevisionc             C   s   || d< d S )Nr   r(   )r)   r+   r(   r(   r*   r     s    c             C   s   | d S )a  
        Determines whether or not this trace is visible. If
        "legendonly", the trace is not drawn, but can appear as a
        legend item (provided that the legend itself is visible).
    
        The 'visible' property is an enumeration that may be specified as:
          - One of the following enumeration values:
                [True, False, 'legendonly']

        Returns
        -------
        Any
        r   r(   )r)   r(   r(   r*   r     s    zImage.visiblec             C   s   || d< d S )Nr   r(   )r)   r+   r(   r(   r*   r     s    c             C   s   | d S )z
        Set the image's x position.
    
        The 'x0' property accepts values of any type

        Returns
        -------
        Any
        r    r(   )r)   r(   r(   r*   r      s    zImage.x0c             C   s   || d< d S )Nr    r(   )r)   r+   r(   r(   r*   r      s    c             C   s   | d S )a  
        Sets a reference between this trace's x coordinates and a 2D
        cartesian x axis. If "x" (the default value), the x coordinates
        refer to `layout.xaxis`. If "x2", the x coordinates refer to
        `layout.xaxis2`, and so on.
    
        The 'xaxis' property is an identifier of a particular
        subplot, of type 'x', that may be specified as the string 'x'
        optionally followed by an integer >= 1
        (e.g. 'x', 'x1', 'x2', 'x3', etc.)

        Returns
        -------
        str
        r!   r(   )r)   r(   r(   r*   r!     s    zImage.xaxisc             C   s   || d< d S )Nr!   r(   )r)   r+   r(   r(   r*   r!     s    c             C   s   | d S )z
        Set the image's y position.
    
        The 'y0' property accepts values of any type

        Returns
        -------
        Any
        r"   r(   )r)   r(   r(   r*   r"     s    zImage.y0c             C   s   || d< d S )Nr"   r(   )r)   r+   r(   r(   r*   r"     s    c             C   s   | d S )a  
        Sets a reference between this trace's y coordinates and a 2D
        cartesian y axis. If "y" (the default value), the y coordinates
        refer to `layout.yaxis`. If "y2", the y coordinates refer to
        `layout.yaxis2`, and so on.
    
        The 'yaxis' property is an identifier of a particular
        subplot, of type 'y', that may be specified as the string 'y'
        optionally followed by an integer >= 1
        (e.g. 'y', 'y1', 'y2', 'y3', etc.)

        Returns
        -------
        str
        r#   r(   )r)   r(   r(   r*   r#     s    zImage.yaxisc             C   s   || d< d S )Nr#   r(   )r)   r+   r(   r(   r*   r#     s    c             C   s   | d S )a(  
        A 2-dimensional array in which each element is an array of 3 or
        4 numbers representing a color.
    
        The 'z' property is an array that may be specified as a tuple,
        list, numpy array, or pandas Series

        Returns
        -------
        numpy.ndarray
        r$   r(   )r)   r(   r(   r*   r$     s    zImage.zc             C   s   || d< d S )Nr$   r(   )r)   r+   r(   r(   r*   r$     s    c             C   s   | d S )a  
        Array defining the higher bound for each color component. Note
        that the default value will depend on the colormodel. For the
        `rgb` colormodel, it is [255, 255, 255]. For the `rgba`
        colormodel, it is [255, 255, 255, 1]. For the `rgba256`
        colormodel, it is [255, 255, 255, 255]. For the `hsl`
        colormodel, it is [360, 100, 100]. For the `hsla` colormodel,
        it is [360, 100, 100, 1].
    
        The 'zmax' property is an info array that may be specified as:
    
        * a list or tuple of 4 elements where:
    (0) The 'zmax[0]' property is a number and may be specified as:
          - An int or float
    (1) The 'zmax[1]' property is a number and may be specified as:
          - An int or float
    (2) The 'zmax[2]' property is a number and may be specified as:
          - An int or float
    (3) The 'zmax[3]' property is a number and may be specified as:
          - An int or float

        Returns
        -------
        list
        r%   r(   )r)   r(   r(   r*   r%     s    z
Image.zmaxc             C   s   || d< d S )Nr%   r(   )r)   r+   r(   r(   r*   r%   *  s    c             C   s   | d S )a  
        Array defining the lower bound for each color component. Note
        that the default value will depend on the colormodel. For the
        `rgb` colormodel, it is [0, 0, 0]. For the `rgba` colormodel,
        it is [0, 0, 0, 0]. For the `rgba256` colormodel, it is [0, 0,
        0, 0]. For the `hsl` colormodel, it is [0, 0, 0]. For the
        `hsla` colormodel, it is [0, 0, 0, 0].
    
        The 'zmin' property is an info array that may be specified as:
    
        * a list or tuple of 4 elements where:
    (0) The 'zmin[0]' property is a number and may be specified as:
          - An int or float
    (1) The 'zmin[1]' property is a number and may be specified as:
          - An int or float
    (2) The 'zmin[2]' property is a number and may be specified as:
          - An int or float
    (3) The 'zmin[3]' property is a number and may be specified as:
          - An int or float

        Returns
        -------
        list
        r&   r(   )r)   r(   r(   r*   r&   0  s    z
Image.zminc             C   s   || d< d S )Nr&   r(   )r)   r+   r(   r(   r*   r&   L  s    c             C   s   | d S )z
        Sets the source reference on Chart Studio Cloud for  z .
    
        The 'zsrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r'   r(   )r)   r(   r(   r*   r'   R  s    z
Image.zsrcc             C   s   || d< d S )Nr'   r(   )r)   r+   r(   r(   r*   r'   `  s    c             C   s
   | j d S )Nr   )_props)r)   r(   r(   r*   r   f  s    z
Image.typec             C   s   dS )Na*          colormodel
            Color model used to map the numerical color components
            described in `z` into colors. If `source` is specified,
            this attribute will be set to `rgba256` otherwise it
            defaults to `rgb`.
        customdata
            Assigns extra data each datum. This may be useful when
            listening to hover, click and selection events. Note
            that, "scatter" traces also appends customdata items in
            the markers DOM elements
        customdatasrc
            Sets the source reference on Chart Studio Cloud for
            customdata .
        dx
            Set the pixel's horizontal size.
        dy
            Set the pixel's vertical size
        hoverinfo
            Determines which trace information appear on hover. If
            `none` or `skip` are set, no information is displayed
            upon hovering. But, if `none` is set, click and hover
            events are still fired.
        hoverinfosrc
            Sets the source reference on Chart Studio Cloud for
            hoverinfo .
        hoverlabel
            :class:`plotly.graph_objects.image.Hoverlabel` instance
            or dict with compatible properties
        hovertemplate
            Template string used for rendering the information that
            appear on hover box. Note that this will override
            `hoverinfo`. Variables are inserted using %{variable},
            for example "y: %{y}". Numbers are formatted using
            d3-format's syntax %{variable:d3-format}, for example
            "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-
            reference/blob/master/Formatting.md#d3_format for
            details on the formatting syntax. Dates are formatted
            using d3-time-format's syntax %{variable|d3-time-
            format}, for example "Day: %{2019-01-01|%A}".
            https://github.com/d3/d3-time-format#locale_format for
            details on the date formatting syntax. The variables
            available in `hovertemplate` are the ones emitted as
            event data described at this link
            https://plotly.com/javascript/plotlyjs-events/#event-
            data. Additionally, every attributes that can be
            specified per-point (the ones that are `arrayOk: true`)
            are available. variables `z`, `color` and `colormodel`.
            Anything contained in tag `<extra>` is displayed in the
            secondary box, for example
            "<extra>{fullData.name}</extra>". To hide the secondary
            box completely, use an empty tag `<extra></extra>`.
        hovertemplatesrc
            Sets the source reference on Chart Studio Cloud for
            hovertemplate .
        hovertext
            Same as `text`.
        hovertextsrc
            Sets the source reference on Chart Studio Cloud for
            hovertext .
        ids
            Assigns id labels to each datum. These ids for object
            constancy of data points during animation. Should be an
            array of strings, not numbers or any other type.
        idssrc
            Sets the source reference on Chart Studio Cloud for
            ids .
        meta
            Assigns extra meta information associated with this
            trace that can be used in various text attributes.
            Attributes such as trace `name`, graph, axis and
            colorbar `title.text`, annotation `text`
            `rangeselector`, `updatemenues` and `sliders` `label`
            text all support `meta`. To access the trace `meta`
            values in an attribute in the same trace, simply use
            `%{meta[i]}` where `i` is the index or key of the
            `meta` item in question. To access trace `meta` in
            layout attributes, use `%{data[n[.meta[i]}` where `i`
            is the index or key of the `meta` and `n` is the trace
            index.
        metasrc
            Sets the source reference on Chart Studio Cloud for
            meta .
        name
            Sets the trace name. The trace name appear as the
            legend item and on hover.
        opacity
            Sets the opacity of the trace.
        source
            Specifies the data URI of the image to be visualized.
            The URI consists of "data:image/[<media
            subtype>][;base64],<data>"
        stream
            :class:`plotly.graph_objects.image.Stream` instance or
            dict with compatible properties
        text
            Sets the text elements associated with each z value.
        textsrc
            Sets the source reference on Chart Studio Cloud for
            text .
        uid
            Assign an id to this trace, Use this to provide object
            constancy between traces during animations and
            transitions.
        uirevision
            Controls persistence of some user-driven changes to the
            trace: `constraintrange` in `parcoords` traces, as well
            as some `editable: true` modifications such as `name`
            and `colorbar.title`. Defaults to `layout.uirevision`.
            Note that other user-driven trace attribute changes are
            controlled by `layout` attributes: `trace.visible` is
            controlled by `layout.legend.uirevision`,
            `selectedpoints` is controlled by
            `layout.selectionrevision`, and `colorbar.(x|y)`
            (accessible with `config: {editable: true}`) is
            controlled by `layout.editrevision`. Trace changes are
            tracked by `uid`, which only falls back on trace index
            if no `uid` is provided. So if your app can add/remove
            traces before the end of the `data` array, such that
            the same trace has a different index, you can still
            preserve user-driven changes if you give each trace a
            `uid` that stays with it as it moves.
        visible
            Determines whether or not this trace is visible. If
            "legendonly", the trace is not drawn, but can appear as
            a legend item (provided that the legend itself is
            visible).
        x0
            Set the image's x position.
        xaxis
            Sets a reference between this trace's x coordinates and
            a 2D cartesian x axis. If "x" (the default value), the
            x coordinates refer to `layout.xaxis`. If "x2", the x
            coordinates refer to `layout.xaxis2`, and so on.
        y0
            Set the image's y position.
        yaxis
            Sets a reference between this trace's y coordinates and
            a 2D cartesian y axis. If "y" (the default value), the
            y coordinates refer to `layout.yaxis`. If "y2", the y
            coordinates refer to `layout.yaxis2`, and so on.
        z
            A 2-dimensional array in which each element is an array
            of 3 or 4 numbers representing a color.
        zmax
            Array defining the higher bound for each color
            component. Note that the default value will depend on
            the colormodel. For the `rgb` colormodel, it is [255,
            255, 255]. For the `rgba` colormodel, it is [255, 255,
            255, 1]. For the `rgba256` colormodel, it is [255, 255,
            255, 255]. For the `hsl` colormodel, it is [360, 100,
            100]. For the `hsla` colormodel, it is [360, 100, 100,
            1].
        zmin
            Array defining the lower bound for each color
            component. Note that the default value will depend on
            the colormodel. For the `rgb` colormodel, it is [0, 0,
            0]. For the `rgba` colormodel, it is [0, 0, 0, 0]. For
            the `rgba256` colormodel, it is [0, 0, 0, 0]. For the
            `hsl` colormodel, it is [0, 0, 0]. For the `hsla`
            colormodel, it is [0, 0, 0, 0].
        zsrc
            Sets the source reference on Chart Studio Cloud for  z
            .
        r(   )r)   r(   r(   r*   _prop_descriptionsl  s     'zImage._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< |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	r4|n|$}$|$dk	rJ|$| d< |dd}$|dk	rd|n|$}$|$dk	rz|$| 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#< |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	r4| n|$}$|$dk	rJ|$| d'< |d(d}$|!dk	rd|!n|$}$|$dk	rz|$| d(< |d)d}$|"dk	r|"n|$}$|$dk	r|$| d)< d| jd*< |d*d | jf t|f|# d| _dS )+a!  
        Construct a new Image object
        
        Display an image, i.e. data on a 2D regular raster. By default,
        when an image is displayed in a subplot, its y axis will be
        reversed (ie. `autorange: 'reversed'`), constrained to the
        domain (ie. `constrain: 'domain'`) and it will have the same
        scale as its x axis (ie. `scaleanchor: 'x,`) in order for
        pixels to be rendered as squares.

        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of :class:`plotly.graph_objs.Image`
        colormodel
            Color model used to map the numerical color components
            described in `z` into colors. If `source` is specified,
            this attribute will be set to `rgba256` otherwise it
            defaults to `rgb`.
        customdata
            Assigns extra data each datum. This may be useful when
            listening to hover, click and selection events. Note
            that, "scatter" traces also appends customdata items in
            the markers DOM elements
        customdatasrc
            Sets the source reference on Chart Studio Cloud for
            customdata .
        dx
            Set the pixel's horizontal size.
        dy
            Set the pixel's vertical size
        hoverinfo
            Determines which trace information appear on hover. If
            `none` or `skip` are set, no information is displayed
            upon hovering. But, if `none` is set, click and hover
            events are still fired.
        hoverinfosrc
            Sets the source reference on Chart Studio Cloud for
            hoverinfo .
        hoverlabel
            :class:`plotly.graph_objects.image.Hoverlabel` instance
            or dict with compatible properties
        hovertemplate
            Template string used for rendering the information that
            appear on hover box. Note that this will override
            `hoverinfo`. Variables are inserted using %{variable},
            for example "y: %{y}". Numbers are formatted using
            d3-format's syntax %{variable:d3-format}, for example
            "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-
            reference/blob/master/Formatting.md#d3_format for
            details on the formatting syntax. Dates are formatted
            using d3-time-format's syntax %{variable|d3-time-
            format}, for example "Day: %{2019-01-01|%A}".
            https://github.com/d3/d3-time-format#locale_format for
            details on the date formatting syntax. The variables
            available in `hovertemplate` are the ones emitted as
            event data described at this link
            https://plotly.com/javascript/plotlyjs-events/#event-
            data. Additionally, every attributes that can be
            specified per-point (the ones that are `arrayOk: true`)
            are available. variables `z`, `color` and `colormodel`.
            Anything contained in tag `<extra>` is displayed in the
            secondary box, for example
            "<extra>{fullData.name}</extra>". To hide the secondary
            box completely, use an empty tag `<extra></extra>`.
        hovertemplatesrc
            Sets the source reference on Chart Studio Cloud for
            hovertemplate .
        hovertext
            Same as `text`.
        hovertextsrc
            Sets the source reference on Chart Studio Cloud for
            hovertext .
        ids
            Assigns id labels to each datum. These ids for object
            constancy of data points during animation. Should be an
            array of strings, not numbers or any other type.
        idssrc
            Sets the source reference on Chart Studio Cloud for
            ids .
        meta
            Assigns extra meta information associated with this
            trace that can be used in various text attributes.
            Attributes such as trace `name`, graph, axis and
            colorbar `title.text`, annotation `text`
            `rangeselector`, `updatemenues` and `sliders` `label`
            text all support `meta`. To access the trace `meta`
            values in an attribute in the same trace, simply use
            `%{meta[i]}` where `i` is the index or key of the
            `meta` item in question. To access trace `meta` in
            layout attributes, use `%{data[n[.meta[i]}` where `i`
            is the index or key of the `meta` and `n` is the trace
            index.
        metasrc
            Sets the source reference on Chart Studio Cloud for
            meta .
        name
            Sets the trace name. The trace name appear as the
            legend item and on hover.
        opacity
            Sets the opacity of the trace.
        source
            Specifies the data URI of the image to be visualized.
            The URI consists of "data:image/[<media
            subtype>][;base64],<data>"
        stream
            :class:`plotly.graph_objects.image.Stream` instance or
            dict with compatible properties
        text
            Sets the text elements associated with each z value.
        textsrc
            Sets the source reference on Chart Studio Cloud for
            text .
        uid
            Assign an id to this trace, Use this to provide object
            constancy between traces during animations and
            transitions.
        uirevision
            Controls persistence of some user-driven changes to the
            trace: `constraintrange` in `parcoords` traces, as well
            as some `editable: true` modifications such as `name`
            and `colorbar.title`. Defaults to `layout.uirevision`.
            Note that other user-driven trace attribute changes are
            controlled by `layout` attributes: `trace.visible` is
            controlled by `layout.legend.uirevision`,
            `selectedpoints` is controlled by
            `layout.selectionrevision`, and `colorbar.(x|y)`
            (accessible with `config: {editable: true}`) is
            controlled by `layout.editrevision`. Trace changes are
            tracked by `uid`, which only falls back on trace index
            if no `uid` is provided. So if your app can add/remove
            traces before the end of the `data` array, such that
            the same trace has a different index, you can still
            preserve user-driven changes if you give each trace a
            `uid` that stays with it as it moves.
        visible
            Determines whether or not this trace is visible. If
            "legendonly", the trace is not drawn, but can appear as
            a legend item (provided that the legend itself is
            visible).
        x0
            Set the image's x position.
        xaxis
            Sets a reference between this trace's x coordinates and
            a 2D cartesian x axis. If "x" (the default value), the
            x coordinates refer to `layout.xaxis`. If "x2", the x
            coordinates refer to `layout.xaxis2`, and so on.
        y0
            Set the image's y position.
        yaxis
            Sets a reference between this trace's y coordinates and
            a 2D cartesian y axis. If "y" (the default value), the
            y coordinates refer to `layout.yaxis`. If "y2", the y
            coordinates refer to `layout.yaxis2`, and so on.
        z
            A 2-dimensional array in which each element is an array
            of 3 or 4 numbers representing a color.
        zmax
            Array defining the higher bound for each color
            component. Note that the default value will depend on
            the colormodel. For the `rgb` colormodel, it is [255,
            255, 255]. For the `rgba` colormodel, it is [255, 255,
            255, 1]. For the `rgba256` colormodel, it is [255, 255,
            255, 255]. For the `hsl` colormodel, it is [360, 100,
            100]. For the `hsla` colormodel, it is [360, 100, 100,
            1].
        zmin
            Array defining the lower bound for each color
            component. Note that the default value will depend on
            the colormodel. For the `rgb` colormodel, it is [0, 0,
            0]. For the `rgba` colormodel, it is [0, 0, 0, 0]. For
            the `rgba256` colormodel, it is [0, 0, 0, 0]. For the
            `hsl` colormodel, it is [0, 0, 0]. For the `hsla`
            colormodel, it is [0, 0, 0, 0].
        zsrc
            Sets the source reference on Chart Studio Cloud for  z
            .

        Returns
        -------
        Image
        r   _parentNzThe first argument to the plotly.graph_objs.Image 
constructor must be a dict or 
an instance of :class:`plotly.graph_objs.Image`Zskip_invalidF	_validateTr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   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/   r,   Z_process_kwargs)%r)   argr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   kwargsZ_v)r3   r(   r*   r1     s.    ^


































zImage.__init__)"NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN)-__name__
__module____qualname__Z_parent_path_strZ	_path_strZ_valid_propspropertyr   setterr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r   r-   r1   __classcell__r(   r(   )r3   r*   r      s  5# +                                 r   )Zplotly.basedatatypesr   Z_BaseTraceTyper6   r5   r   r(   r(   r(   r*   <module>   s   