# Treemap

### Exclusive Options

<details>

<summary>Branch Values</summary>

**Default Value**: remainder

**Type**: enumerated

**Enum Options**: remainder,total

**Documentation**: Determines how the items in `values` are summed. When set to *total*, items in `values` are taken to be value of all its descendants. When set to *remainder*, items in `values` corresponding to the root and the branches sectors are taken to be the extra part not part of the sum of the values at their leaves.

**Path**: data.index.branchvalues

</details>

<details>

<summary>Count</summary>

**Default Value**: leaves

**Type**: flaglist

**Flag Options**: branches,leaves

**Documentation**: Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0.

**Path**: data.index.count

</details>

<details>

<summary>Corner Radius</summary>

**Default Value**: 0

**Type**: number

**Min**: 0

**Documentation**: Sets the maximum rounding of corners (in px).

**Path**: data.index.marker.cornerradius

</details>

<details>

<summary>Depth Fade</summary>

**Type**: enumerated

**Enum Options**: true,false,reversed

**Documentation**: Determines if the sector colors are faded towards the background from the leaves up to the headers. This option is unavailable when a `colorscale` is present, defaults to false when `marker.colors` is set, but otherwise defaults to true. When set to *reversed*, the fading direction is inverted, that is the top elements within hierarchy are drawn with fully saturated colors while the leaves are faded towards the background color.

**Path**: data.index.marker.depthfade

</details>

<details>

<summary>Color</summary>

**Default Value**: rgba(0,0,0,0)

**Type**: color

**Documentation**: sets the color of the root node for a sunburst/treemap/icicle trace. this has no effect when a colorscale is used to set the markers.

**Path**: data.index.root.color

</details>

<details>

<summary>Packing</summary>

**Default Value**: squarify

**Type**: enumerated

**Enum Options**: squarify,binary,dice,slice,slice-dice,dice-slice

**Documentation**: Determines d3 treemap solver. For more info please refer to <https://github.com/d3/d3-hierarchy#treemap-tiling>

**Path**: data.index.tiling.packing

</details>

<details>

<summary>Pad</summary>

**Default Value**: 3

**Type**: number

**Min**: 0

**Documentation**: Sets the inner padding (in px).

**Path**: data.index.tiling.pad

</details>

***

### Hover Formatting

<details>

<summary>Hover Info</summary>

**Default Value**: label+text+value+name

**Type**: flaglist

**Accept List**: true

**Flag Options**: label,text,value,name,current path,percent root,percent entry,percent parent

**Flag Single**: all,none,skip

**Documentation**: 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.

**Path**: data.index.hoverinfo

</details>

<details>

<summary>Hover Template</summary>

**Default Value**:

**Type**: string

**Accept List**: true

**Documentation**: 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}" as well as %{xother}, {%*xother}, {%xother}, {%xother*}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". <https://github.com/d3/d3-format/tree/v1.4.5#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/tree/v2.2.3#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. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `<extra>` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag `<extra></extra>`.

**Path**: data.index.hovertemplate

</details>

***

### Data Source

<details>

<summary>Labels</summary>

**Type**: any

**Accept List**: true

**Documentation**: Sets the labels of each of the sectors.

**Path**: data.index.labels

</details>

<details>

<summary>Parents</summary>

**Type**: any

**Accept List**: true

**Documentation**: Sets the parent sectors for each of the sectors. Empty string items '' are understood to reference the root node in the hierarchy. If `ids` is filled, `parents` items are understood to be "ids" themselves. When `ids` is not set, plotly attempts to find matching items in `labels`, but beware they must be unique.

**Path**: data.index.parents

</details>

<details>

<summary>Text</summary>

**Type**: any

**Accept List**: true

**Documentation**: Sets text elements associated with each sector. If trace `textinfo` contains a *text* flag, these elements will be seen on the chart. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.

**Path**: data.index.text

</details>

<details>

<summary>Values</summary>

**Type**: any

**Accept List**: true

**Documentation**: Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.

**Path**: data.index.values

</details>

***

### Color Scale Options

<details>

<summary>Auto Color Scale</summary>

**Default Value**: true

**Type**: boolean

**Documentation**: Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if colors is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

**Path**: data.index.marker.autocolorscale

</details>

<details>

<summary>C Auto</summary>

**Default Value**: true

**Type**: boolean

**Documentation**: Determines whether or not the color domain is computed with respect to the input data (here colors) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if colors is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

**Path**: data.index.marker.cauto

</details>

<details>

<summary>C Max</summary>

**Type**: number

**Documentation**: Sets the upper bound of the color domain. Has an effect only if colors is set to a numerical array. Value should have the same units as colors and if set, `marker.cmin` must be set as well.

**Path**: data.index.marker.cmax

</details>

<details>

<summary>C Mid</summary>

**Type**: number

**Documentation**: Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if colors is set to a numerical array. Value should have the same units as colors. Has no effect when `marker.cauto` is `false`.

**Path**: data.index.marker.cmid

</details>

<details>

<summary>C Min</summary>

**Type**: number

**Documentation**: Sets the lower bound of the color domain. Has an effect only if colors is set to a numerical array. Value should have the same units as colors and if set, `marker.cmax` must be set as well.

**Path**: data.index.marker.cmin

</details>

<details>

<summary>Color Scale</summary>

**Type**: colorscale

**Documentation**: Sets the colorscale. Has an effect only if colors is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

**Path**: data.index.marker.colorscale

</details>

<details>

<summary>Reverse Scale</summary>

**Default Value**: false

**Type**: boolean

**Documentation**: Reverses the color mapping if true. Has an effect only if colors is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

**Path**: data.index.marker.reversescale

</details>

<details>

<summary>Show Scale</summary>

**Default Value**: false

**Type**: boolean

**Documentation**: Determines whether or not a colorbar is displayed for this trace. Has an effect only if colors is set to a numerical array.

**Path**: data.index.marker.showscale

</details>

***

### Color Bar Layout

<details>

<summary>Colorbar Bg Color</summary>

**Default Value**: rgba(0,0,0,0)

**Type**: color

**Documentation**: Sets the color of padded area.

**Path**: data.index.marker.colorbar.bgcolor

</details>

<details>

<summary>Colorbar Border Color</summary>

**Default Value**: #444

**Type**: color

**Documentation**: Sets the axis line color.

**Path**: data.index.marker.colorbar.bordercolor

</details>

<details>

<summary>Colorbar Border Width</summary>

**Default Value**: 0

**Type**: number

**Min**: 0

**Documentation**: Sets the width (in px) or the border enclosing this color bar.

**Path**: data.index.marker.colorbar.borderwidth

</details>

<details>

<summary>Colorbar Len</summary>

**Default Value**: 1

**Type**: number

**Min**: 0

**Documentation**: Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

**Path**: data.index.marker.colorbar.len

</details>

<details>

<summary>Colorbar Len Mode</summary>

**Default Value**: fraction

**Type**: enumerated

**Enum Options**: fraction,pixels

**Documentation**: Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in \*pixels. Use `len` to set the value.

**Path**: data.index.marker.colorbar.lenmode

</details>

<details>

<summary>Colorbar Outline Color</summary>

**Default Value**: #444

**Type**: color

**Documentation**: Sets the axis line color.

**Path**: data.index.marker.colorbar.outlinecolor

</details>

<details>

<summary>Colorbar Outline Width</summary>

**Default Value**: 1

**Type**: number

**Min**: 0

**Documentation**: Sets the width (in px) of the axis line.

**Path**: data.index.marker.colorbar.outlinewidth

</details>

<details>

<summary>Colorbar Thickness</summary>

**Default Value**: 30

**Type**: number

**Min**: 0

**Documentation**: Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

**Path**: data.index.marker.colorbar.thickness

</details>

<details>

<summary>Colorbar Thickness Mode</summary>

**Default Value**: pixels

**Type**: enumerated

**Enum Options**: fraction,pixels

**Documentation**: Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.

**Path**: data.index.marker.colorbar.thicknessmode

</details>

***

### Color Bar Ticks Options

<details>

<summary>Colorbar D Tick</summary>

**Type**: any

**Documentation**: Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n\*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log\_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*

**Path**: data.index.marker.colorbar.dtick

</details>

<details>

<summary>Colorbar N Ticks</summary>

**Default Value**: 0

**Type**: integer

**Min**: 0

**Documentation**: Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.

**Path**: data.index.marker.colorbar.nticks

</details>

<details>

<summary>Colorbar Show Tick Labels</summary>

**Default Value**: true

**Type**: boolean

**Documentation**: Determines whether or not the tick labels are drawn.

**Path**: data.index.marker.colorbar.showticklabels

</details>

<details>

<summary>Colorbar Ticks</summary>

**Default Value**:

**Type**: enumerated

**Enum Options**: outside,inside,

**Documentation**: Determines whether ticks are drawn or not. If \*\*, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.

**Path**: data.index.marker.colorbar.ticks

</details>

***

### Color Bar Positioning

<details>

<summary>Colorbar Orientation</summary>

**Default Value**: v

**Type**: enumerated

**Enum Options**: h,v

**Documentation**: Sets the orientation of the colorbar.

**Path**: data.index.marker.colorbar.orientation

</details>

<details>

<summary>Colorbar X</summary>

**Type**: number

**Documentation**: Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.

**Path**: data.index.marker.colorbar.x

</details>

<details>

<summary>Colorbar X Anchor</summary>

**Type**: enumerated

**Enum Options**: left,center,right

**Documentation**: Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.

**Path**: data.index.marker.colorbar.xanchor

</details>

<details>

<summary>Colorbar Y</summary>

**Type**: number

**Documentation**: Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.

**Path**: data.index.marker.colorbar.y

</details>

<details>

<summary>Colorbar Y Anchor</summary>

**Type**: enumerated

**Enum Options**: top,middle,bottom

**Documentation**: Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.

**Path**: data.index.marker.colorbar.yanchor

</details>

***

### Color Bar Title Options

<details>

<summary>Font Color</summary>

**Type**: color

**Path**: data.index.marker.colorbar.title.font.color

</details>

<details>

<summary>Font Size</summary>

**Type**: number

**Min**: 1

**Path**: data.index.marker.colorbar.title.font.size

</details>

<details>

<summary>Title Side</summary>

**Type**: enumerated

**Enum Options**: right,top,bottom

**Documentation**: Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.

**Path**: data.index.marker.colorbar.title.side

</details>

<details>

<summary>Title Text</summary>

**Type**: string

**Documentation**: Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.

**Path**: data.index.marker.colorbar.title.text

</details>

***

### Items Styling

<details>

<summary>Colors</summary>

**Type**: any

**Accept List**: true

**Documentation**: Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.

**Path**: data.index.marker.colors

</details>

<details>

<summary>Line Color</summary>

**Type**: color

**Accept List**: true

**Documentation**: Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.

**Path**: data.index.marker.line.color

</details>

<details>

<summary>Line Width</summary>

**Default Value**: 1

**Type**: number

**Accept List**: true

**Min**: 0

**Documentation**: Sets the width (in px) of the line enclosing each sector.

**Path**: data.index.marker.line.width

</details>

***

### Items Pattern Options

<details>

<summary>Pattern Fg Color</summary>

**Type**: color

**Accept List**: true

**Documentation**: When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is *replace*. Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.

**Path**: data.index.marker.pattern.fgcolor

</details>

<details>

<summary>Pattern Fill Mode</summary>

**Default Value**: replace

**Type**: enumerated

**Enum Options**: replace,overlay

**Documentation**: Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.

**Path**: data.index.marker.pattern.fillmode

</details>

<details>

<summary>Pattern Shape</summary>

**Default Value**:

**Type**: enumerated

**Accept List**: true

**Enum Options**: ,/,,x,-,|,+,.

**Documentation**: Sets the shape of the pattern fill. By default, no pattern is used for filling the area.

**Path**: data.index.marker.pattern.shape

</details>

<details>

<summary>Pattern Size</summary>

**Default Value**: 8

**Type**: number

**Accept List**: true

**Min**: 0

**Documentation**: Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.

**Path**: data.index.marker.pattern.size

</details>

***

### Basic Options

<details>

<summary>Name</summary>

**Type**: string

**Documentation**: Sets the trace name. The trace name appears as the legend item and on hover.

**Path**: data.index.name

</details>

<details>

<summary>Opacity</summary>

**Default Value**: 1

**Type**: number

**Min**: 0

**Max**: 1

**Documentation**: Sets the opacity of the trace.

**Path**: data.index.opacity

</details>

<details>

<summary>Sort</summary>

**Default Value**: true

**Type**: boolean

**Documentation**: Determines whether or not the sectors are reordered from largest to smallest.

**Path**: data.index.sort

</details>

***

### Path Bar Options

<details>

<summary>Edge Shape</summary>

**Default Value**: >

**Type**: enumerated

**Enum Options**: >,<,|,/,\\

**Documentation**: Determines which shape is used for edges between `barpath` labels.

**Path**: data.index.pathbar.edgeshape

</details>

<details>

<summary>Side</summary>

**Default Value**: top

**Type**: enumerated

**Enum Options**: top,bottom

**Documentation**: Determines on which side of the the treemap the `pathbar` should be presented.

**Path**: data.index.pathbar.side

</details>

<details>

<summary>Textfont Color</summary>

**Type**: color

**Accept List**: true

**Path**: data.index.pathbar.textfont.color

</details>

<details>

<summary>Textfont Size</summary>

**Type**: number

**Accept List**: true

**Min**: 1

**Path**: data.index.pathbar.textfont.size

</details>

<details>

<summary>Visible</summary>

**Default Value**: true

**Type**: boolean

**Documentation**: Determines if the path bar is drawn i.e. outside the trace `domain` and with one pixel gap.

**Path**: data.index.pathbar.visible

</details>

***

### Text Formatting

<details>

<summary>Color</summary>

**Type**: color

**Accept List**: true

**Path**: data.index.textfont.color

</details>

<details>

<summary>Size</summary>

**Type**: number

**Accept List**: true

**Min**: 1

**Path**: data.index.textfont.size

</details>

<details>

<summary>Text Info</summary>

**Type**: flaglist

**Flag Options**: label,text,value,current path,percent root,percent entry,percent parent

**Flag Single**: none

**Documentation**: Determines which trace information appear on the graph.

**Path**: data.index.textinfo

</details>

<details>

<summary>Text Position</summary>

**Default Value**: top left

**Type**: enumerated

**Enum Options**: top left,top center,top right,middle left,middle center,middle right,bottom left,bottom center,bottom right

**Documentation**: Sets the positions of the `text` elements.

**Path**: data.index.textposition

</details>

<details>

<summary>Text Template</summary>

**Default Value**:

**Type**: string

**Accept List**: true

**Documentation**: Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. 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-format/tree/v1.4.5#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/tree/v2.2.3#locale\\_format> for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`.

**Path**: data.index.texttemplate

</details>
